J'ai créé des entrées de recherche dans Google Chrome à l'aide de "Modifier les moteurs de recherche".
Comment puis-je partager certaines de ces entrées avec mes collègues?
J'ai créé des entrées de recherche dans Google Chrome à l'aide de "Modifier les moteurs de recherche".
Comment puis-je partager certaines de ces entrées avec mes collègues?
Réponses:
Voici une seule commande pour exporter vos moteurs de recherche Chrome au format CSV sur Linux:
sqlite3 -csv ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url from keywords' > ~/search-engines.csv
Vous devez installer sqlite3. Remplacez ~/.config/chrome
par le chemin Windows correspondant si vous êtes sous Windows. Devrait être quelque chose comme%AppData%\Local\Google\Chrome\User Data
Au lieu d'exporter vers CSV, vous pouvez exporter vers des instructions d'insertion sqlite:
(printf 'begin transaction;\n'; sqlite3 ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url,favicon_url from keywords' | awk -F\| '{ printf "insert into keywords (short_name, keyword, url, favicon_url) values ('"'"%s"'"', '"'"%s"'"', '"'"%s"'"', '"'"%s"'"');\n", $1, $2, $3, $4 }'; printf 'end transaction;\n') > ~/search-engine-export.sql
Copiez ensuite ~/search-engine-export.sql
sur l'autre machine et importez avec cette commande:
sqlite3 ~/.config/chromium/Default/Web\ Data < search-engine-export.sql
Assurez-vous de remplacer le Web Data
chemin par celui de votre machine comme décrit ci-dessus.
function esc(s){gsub("\x27","\x27\x27",s);return s}
pour 1 $ et 2 $ ====> esc (1 $), esc (2 $)
Voici une solution simple pour exporter et importer les paramètres du moteur de recherche Chrome sans utiliser d'outils externes ni modifier le registre:
chrome://settings/searchEngines
).Pour télécharger un fichier JSON avec les paramètres du moteur de recherche:
(function exportSEs() {
/* Auxiliary function to download a file with the exported data */
function downloadData(filename, data) {
const file = new File([data], { type: 'text/json' });
const elem = document.createElement('a');
elem.href = URL.createObjectURL(file);
elem.download = filename;
elem.click();
}
/* Actual search engine export magic */
settings.SearchEnginesBrowserProxyImpl.prototype.getSearchEnginesList()
.then((searchEngines) => {
downloadData('search_engines.json', JSON.stringify(searchEngines.others));
});
}());
Pour importer des paramètres à partir d'un fichier JSON créé à l'aide du script ci-dessus:
(async function importSEs() {
/* Auxiliary function to open a file selection dialog */
function selectFileToRead() {
return new Promise((resolve) => {
const input = document.createElement('input');
input.setAttribute('type', 'file');
input.addEventListener('change', (e) => {
resolve(e.target.files[0]);
}, false);
input.click();
});
}
/* Auxiliary function to read data from a file */
function readFile(file) {
return new Promise((resolve) => {
const reader = new FileReader();
reader.addEventListener('load', (e) => {
resolve(e.target.result);
});
reader.readAsText(file);
});
}
const file = await selectFileToRead();
const content = await readFile(file);
const searchEngines = JSON.parse(content);
searchEngines.forEach(({ name, keyword, url }) => {
/* Actual search engine import magic */
chrome.send('searchEngineEditStarted', [-1]);
chrome.send('searchEngineEditCompleted', [name, keyword, url]);
});
}());
Remarques
chrome://
URL (déjà là, faites cela).C'est possible, mais c'est assez d'une douleur que vous ne voudrez pas.
Recherchez le fichier de données Web dans votre profil Chrome. Dans Windows 7, ce sera ici:
"%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"
Ouvrez le fichier avec un programme SQLite comme SQLite Studio ou sqlite dans Ubuntu (sudo apt-get install sqlite) et exportez la table des mots-clés dans SQLite Studio ou exécutez cette commande sous Linux:
sqlite3 "Web Data" ".dump keywords" > keywords.sql
Demandez à vos collègues d'importer les mots clés, en procédant à l'inverse de ce processus.
Comme je l'ai dit, possible, mais douloureux.
J'ai écrit un analyseur Javascript pour convertir le SQL des données Web au format de fichier de signets Netscape presque universel en HTML (ironique que la norme définitive pour ce format semble être Microsoft) si vous souhaitez obtenir les mots clés dans d'autres navigateurs comme Firefox ou Opera.
Si vous êtes intéressé par une solution alternative, j'ai créé des raccourcis pour vous permettre d'utiliser le même ensemble de moteurs de recherche personnalisés dans n'importe quel navigateur, et je prévois de mettre en œuvre la possibilité de partager avec d'autres bientôt. La prochaine version dans quelques jours aura le code d'importation que j'ai mentionné ci-dessus dès que j'aurai fini de tester les nouvelles fonctionnalités.
J'ai fait ce qui suit pour partager mes entrées dans le moteur de recherche Google Chrome et cela a parfaitement fonctionné pour moi:
WINDOWS XP : accédez à C: \ Documents and Settings \ MyUserName \ Local Settings \ Application Data \ Google \ Chrome \ User Data \ Default
SUR WINDOWS 7 : accédez à C: \ Users \ MyUserName \ AppData \ Local \ Google \ Chrome \ User Data \ Default
Copiez ces 3 fichiers: Preferences
, Web Data
etWeb Data-journal
Mettez ces 3 fichiers sur la machine cible
J'ai écrit un script python qui charge les définitions à partir des données JSON. Vous pouvez maintenant gérer votre configuration en tant que code:
https://gist.github.com/ninowalker/9952bf435f8acffa3ef59d6c538ca165
Ceci est idempotent (par exemple, peut être exécuté plusieurs fois; n'ajoutera pas de doublons par mot-clé).
Fonctionne avec python2 et OSX. Peut être modifié pour prendre en charge d'autres plates-formes.
Pour moi, je suis sur Windows 10 et je voulais copier les moteurs de recherche de mon profil Chrome personnel vers mon profil Chrome d'entreprise. J'ai fait ce qui suit:
J'ai téléchargé SQLite à partir de https://www.sqlite.org/download.html (sous "Binaires précompilés" avec la description "Un ensemble d'outils de ligne de commande pour gérer les fichiers de base de données SQLite"). Je l'ai décompressé pour c:\utils
que ce soit déjà sur mon chemin
J'ai ouvert cmd.exe
J'ai changé de répertoire pour mon profil chrome (personnel) par défaut
cd "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default"
J'ai quitté Chrome entièrement (même dans le bac). Conservez également une copie de ces instructions (ou ouvrez-les dans un autre navigateur) car vous les perdrez.
J'ai couru ce qui suit:
sqlite3 "Web Data" ".dump keywords" > c:\keywords.sql
J'ai changé pour le nouveau profil:
cd "..\Profile 2\"
J'ai couru ceci:
sqlite3.exe "Web Data" < c:\keywords.sql
J'ai les erreurs suivantes, qui sont correctes:
Error: near line 4: UNIQUE constraint failed: keywords.id
Error: near line 5: UNIQUE constraint failed: keywords.id
Error: near line 6: UNIQUE constraint failed: keywords.id
Error: near line 7: UNIQUE constraint failed: keywords.id
Error: near line 8: UNIQUE constraint failed: keywords.id
Si vous obtenez plus d'erreurs, cela signifie que vous avez ajouté des moteurs de recherche à votre nouveau profil. Supprimez-les tous, y compris les nouveaux que vous venez d'ajouter et relancez cette étape. Ou modifiez le fichier SQL à la main.
Voici comment je le fais (je ne me souviens pas où je l'ai trouvé).
Créez un script export_chrome_search_engines.sh
:
#!/bin/sh
DESTINATION=${1:-./keywords.sql}
TEMP_SQL_SCRIPT=/tmp/sync_chrome_sql_script
echo "Exporting Chrome keywords to $DESTINATION..."
cd ~/.config/google-chrome/Default
echo .output $DESTINATION > $TEMP_SQL_SCRIPT
echo .dump keywords >> $TEMP_SQL_SCRIPT
sqlite3 -init $TEMP_SQL_SCRIPT Web\ Data .exit
rm $TEMP_SQL_SCRIPT
Créez un script import_chrome_search_engines.sh
:
#!/bin/sh
if ps -x | grep -v grep | grep Google\ Chrome > /dev/null; then
echo "Close Chrome and try again..."
exit 1
fi
SOURCE=${1:-./keywords.sql}
#SOURCE=$1
TEMP_SQL_SCRIPT=/tmp/sync_chrome_sql_script
echo
echo "Importing Chrome keywords from $SOURCE..."
cd ~/.config/google-chrome/Default
echo DROP TABLE IF EXISTS keywords\; > $TEMP_SQL_SCRIPT
echo .read $SOURCE >> $TEMP_SQL_SCRIPT
sqlite3 -init $TEMP_SQL_SCRIPT Web\ Data .exit
rm $TEMP_SQL_SCRIPT
Rendez-les exécutables:
chmod +x export_chrome_search_engines.sh import_chrome_search_engines.sh
Pour exporter, fermez Chrome et exécutez:
./export_chrome_search_engines.sh
cp ~/.config/google-chrome/Default/keywords.sql /tmp/
Pour importer, fermez Chrome et exécutez:
cp /tmp/keywords.sql ~/.config/google-chrome/Default
./import_chrome_search_engines.sh
Pour l'instant, non, vous ne pouvez pas. Cependant, vous pouvez partager des signets avec vos collègues.
Lien vers le partage de signets Google pour le moment, les utilisateurs de l'application Google ne peuvent pas partager de signets ou de listes de signets.