Я создал несколько поисковых записей в Google Chrome, используя «Редактировать поисковые системы».
Как я могу поделиться некоторыми из этих записей с моими коллегами?
Я создал несколько поисковых записей в Google Chrome, используя «Редактировать поисковые системы».
Как я могу поделиться некоторыми из этих записей с моими коллегами?
Ответы:
Вот одна команда для экспорта ваших поисковых систем Chrome как CSV на Linux:
sqlite3 -csv ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url from keywords' > ~/search-engines.csv
Вам нужно установить sqlite3. Замените ~/.config/chrome
на соответствующий путь Windows, если вы используете Windows. Должно быть что-то вроде%AppData%\Local\Google\Chrome\User Data
Вместо экспорта в CSV вы можете экспортировать в операторы вставки 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
Затем скопируйте ~/search-engine-export.sql
на другой компьютер и выполните импорт с помощью этой команды:
sqlite3 ~/.config/chromium/Default/Web\ Data < search-engine-export.sql
Обязательно замените Web Data
путь на тот, что на вашей машине, как описано выше.
function esc(s){gsub("\x27","\x27\x27",s);return s}
за $ 1 и $ 2 ====> esc ($ 1), esc ($ 2)
Вот простое решение для экспорта и импорта настроек поисковой системы Chrome без использования каких-либо внешних инструментов или редактирования реестра:
chrome://settings/searchEngines
).Чтобы загрузить файл JSON с настройками поисковой системы:
(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));
});
}());
Чтобы импортировать настройки из файла JSON, созданного с помощью приведенного выше сценария:
(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]);
});
}());
Заметки
chrome://
URL-адресам (уже там, сделали это).Это возможно, но достаточно боли, которую вы не захотите.
Найдите файл веб-данных в своем профиле Chrome. В Windows 7 это будет здесь:
"%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"
Откройте файл с помощью программы SQLite, такой как SQLite Studio или sqlite, в Ubuntu (sudo apt-get install sqlite) и экспортируйте таблицу ключевых слов в SQLite Studio или выполните эту команду в Linux:
sqlite3 "Web Data" ".dump keywords" > keywords.sql
Пусть ваши коллеги импортируют ключевые слова, выполняя обратную процедуру.
Как я уже сказал, возможно, но больно.
Я написал анализатор Javascript для преобразования SQL из веб-данных в почти универсальный формат файлов закладок Netscape в HTML (иронично, что окончательным стандартом для этого формата, похоже, является Microsoft), если вы заинтересованы в переносе ключевых слов в другие браузеры, такие как Firefox. или опера.
Если вы заинтересованы в альтернативном решении, я создал Shortmarks, чтобы позволить вам использовать один и тот же набор пользовательских поисковых систем в любом браузере, и я планирую вскоре реализовать возможность поделиться с другими. В следующем выпуске через несколько дней будет указан код импорта, о котором я упоминал выше, как только я закончу тестировать новые функции.
Я сделал следующее, чтобы поделиться своими записями в поисковой системе Google Chrome, и он отлично работал для меня:
WINDOWS XP : перейдите в C: \ Documents and Settings \ MyUserName \ Local Settings \ Application Data \ Google \ Chrome \ User Data \ Default
В WINDOWS 7 : Перейдите в C: \ Users \ MyUserName \ AppData \ Local \ Google \ Chrome \ User Data \ Default
Скопируйте 3 файла: Preferences
, Web Data
иWeb Data-journal
Поместите эти 3 файла на целевой компьютер
Я написал скрипт на Python, который загружает определения из данных JSON. Теперь вы можете управлять своей конфигурацией в виде кода:
https://gist.github.com/ninowalker/9952bf435f8acffa3ef59d6c538ca165
Это идемпотент (например, может быть запущен несколько раз; не будет добавлять дубликаты по ключевому слову).
Работает с python2 и OSX. Может быть изменен для поддержки других платформ.
Для меня я на Windows 10, и я хотел скопировать поисковые системы из моего личного профиля Chrome в мой корпоративный профиль Chrome. Я сделал следующее:
Я скачал SQLite с https://www.sqlite.org/download.html (в разделе «Предварительно скомпилированные двоичные файлы» с описанием «Набор инструментов командной строки для управления файлами базы данных SQLite»). Я разархивировал это, чтобы c:\utils
это уже было в моем пути
Я открыл cmd.exe
Я изменил каталог на свой профиль по умолчанию (личный) Chrome
cd "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default"
Я вышел из Chrome полностью (даже в трее). Также сохраните копию этих инструкций (или откройте их в другом браузере), потому что вы их потеряете.
Я запустил следующее:
sqlite3 "Web Data" ".dump keywords" > c:\keywords.sql
Я изменил на новый профиль:
cd "..\Profile 2\"
Я запустил это:
sqlite3.exe "Web Data" < c:\keywords.sql
Я получил следующие ошибки, которые в порядке:
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
Если вы получаете больше ошибок, это означает, что вы добавили поисковые системы в свой новый профиль. Удалите их все, включая только что добавленные новые, и повторите этот шаг. Или отредактируйте файл SQL вручную.
Вот как я это делаю (я не помню, где я это нашел).
Создать скрипт 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
Создать скрипт 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
Сделайте их исполняемыми:
chmod +x export_chrome_search_engines.sh import_chrome_search_engines.sh
Чтобы экспортировать, выключите Chrome и запустите:
./export_chrome_search_engines.sh
cp ~/.config/google-chrome/Default/keywords.sql /tmp/
Чтобы импортировать, выключите Chrome и запустите:
cp /tmp/keywords.sql ~/.config/google-chrome/Default
./import_chrome_search_engines.sh
На данный момент нет, вы не можете. Тем не менее, вы можете поделиться закладками со своими коллегами.
Ссылки на общий доступ к закладкам Google Пользователи Google App не могут делиться закладками или списками закладок.