Я створив кілька пошукових записів у Google Chrome за допомогою "Редагувати пошукові системи".
Як я можу поділитися цими записами зі своїми колегами?
Я створив кілька пошукових записів у Google 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 або Опера.
Якщо вас зацікавило альтернативне рішення, я створив шорт-маркери, щоб дозволити вам використовувати той самий набір користувальницьких пошукових систем у будь-якому веб-переглядачі, і незабаром планую реалізувати можливість ділитися з іншими. У наступному випуску через кілька днів з'явиться код імпорту, про який я вже згадувався, як тільки я закінчу тестування нових функцій.
Я зробив наступні, щоб поділитися своїми записами в пошуковій системі Google Chrome, і для мене це спрацювало чудово:
WINDOWS XP : Перейдіть до C: \ Документи та налаштування \ MyUserName \ Місцеві налаштування \ Дані програми \ Google \ Chrome \ Дані користувача \ За замовчуванням
ON WINDOWS 7 : Перейдіть до C: \ Users \ MyUserName \ AppData \ Local \ Google \ Chrome \ Дані користувача \ За замовчуванням
Скопіюйте 3 файлу: Preferences
, Web Data
іWeb Data-journal
Покладіть ці 3 файли на цільову машину
Я написав сценарій python, який завантажує визначення з даних JSON. Тепер ви можете керувати своєю конфігурацією як код:
https://gist.github.com/ninowalker/9952bf435f8acffa3ef59d6c538ca165
Це idempotent (наприклад, його можна запустити кілька разів; звичайно не додавати дублікати за ключовим словом).
Працює з python2 та OSX. Може бути змінено для підтримки інших платформ.
Для мене я перебуваю під Windows 10 і хотів скопіювати пошукові системи з особистого хромованого профілю на свій корпоративний хром-профіль. Я зробив наступне:
Я завантажив SQLite з https://www.sqlite.org/download.html (у розділі "Попередньо скопійовані бінарні файли" з описом "Пакет засобів командного рядка для управління файлами баз даних SQLite"). Я розпакував це до c:\utils
того, що вже на моєму шляху
Я відкрив cmd.exe
Я змінив каталог на стандартний (особистий) профіль хрому
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 Bookmark Bookmark and Share