Як я можу поділитися своїми записами в пошуковій системі Google Chrome?


30

Я створив кілька пошукових записів у Google Chrome за допомогою "Редагувати пошукові системи".

Як я можу поділитися цими записами зі своїми колегами?


Це таке чудове питання. Я знайшов ludovic.chabant.com/devblog/2010/12/29/…, але не хочу заважати пробувати це з 2010-2011 років. 5 - 6 років в Інтернеті - це вічність. Я хотів би, щоб в одній і тій же установці Chrome був доступний зручний (оновлений) спосіб ділитися в усіх облікових записах Google та в профілях.
Райан

Відповіді:


6

Ось одна команда експортувати ваші хромовані пошукові системи у форматі 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

Експорт як SQL для повторного імпорту в інше місце

Замість того, щоб експортувати в 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шлях на той, що знаходиться на вашій машині, як описано вище.


Для мене чудово працювали! І я хотів би дати модуль для WSL в Windows 10, що по суті робить це оригінальним рішенням для Windows. Ви також поділите команду для імпорту?
tbc0

1
@ tbc0 Я також додав інструкції щодо імпорту. Я не проходив тестування на WSL, але це повинно працювати теоретично ...
Вільям Касарін

Можливо, вам доведеться поводитися з символом '. Ви можете додати це у свій уїк function esc(s){gsub("\x27","\x27\x27",s);return s}за $ 1 та $ 2 ====> esc ($ 1), esc ($ 2)
Ізмір Рамірес

5

Ось просте рішення для експорту та імпорту налаштувань пошукової системи Chrome без використання зовнішніх інструментів чи редагування реєстру:

  1. Відкрийте сторінку Налаштування пошукової системи в Chrome ( chrome://settings/searchEngines).
  2. Відкрийте Інструменти для розробників Chrome.
    • Ярлик: F12 або Ctrl + Shift + I (у Windows, ярлики на інших платформах можуть відрізнятися).
    • Ручна навігація: триточне меню у верхньому правому куті > Інші інструменти > Інструменти для розробників .
  3. Клацніть Консоль у верхній панелі меню Інструменти для розробників Chrome.
  4. Вставте один із наступних сценаріїв у консоль і натисніть Enter .

Щоб завантажити файл 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 75.0.3770.100 в Windows 8.1.
  • Експорт та імпорт скриптів пошуку в сценаріях лише в розділі Інші пошукові системи, але їх можна легко налаштувати, щоб вони включали пошукові системи за замовчуванням.
  • Не намагайтеся поширювати сценарії як закладки, закладок не виконуються за chrome://URL-адресами (там було, зробили це).

Ці інструкції для мене прекрасно спрацювали, хромована версія 74.
Джейсон

Блискучий, як і раніше працює на v78 windows.
юнвар

4

Це можливо, але це достатньо болю, якого ви не хочете.

  1. Знайдіть файл веб-даних у своєму профілі Chrome. У Windows 7 це буде: "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"

  2. Відкрийте файл за допомогою програми SQLite, наприклад SQLite Studio або sqlite в Ubuntu (sudo apt-get install sqlite) та експортуйте таблицю ключових слів у SQLite Studio або запустіть цю команду в Linux: sqlite3 "Web Data" ".dump keywords" > keywords.sql Діалогове вікно експорту SQLite Studio

  3. Попросіть ваших колег імпортувати ключові слова, виконуючи зворотній процес цього процесу.

Як я вже сказав, можливо, але боляче.

Я написав аналізатор Javascript для перетворення SQL з веб-даних у майже універсальний формат файлу закладок Netscape у HTML (іронічно, що остаточним стандартом цього формату є Microsoft), якщо ви зацікавлені в тому, щоб отримати ключові слова в інші браузери, такі як Firefox або Опера.

Якщо вас зацікавило альтернативне рішення, я створив шорт-маркери, щоб дозволити вам використовувати той самий набір користувальницьких пошукових систем у будь-якому веб-переглядачі, і незабаром планую реалізувати можливість ділитися з іншими. У наступному випуску через кілька днів з'явиться код імпорту, про який я вже згадувався, як тільки я закінчу тестування нових функцій.


1
Хоча я хотів би, щоб Google це полегшило, я особисто не відчував, що "достатньо болю, що я не хочу спробувати". Відповідь Патріка була для мене дуже корисною: superuser.com/a/688270/74576
Райан

Відповідь Вільяма superuser.com/a/1350144/92959 була абсолютно легкою. Я знайшов відповідь Патріка дуже складною порівняно з Вільямською.
tbc0

2

Я зробив наступні, щоб поділитися своїми записами в пошуковій системі Google Chrome, і для мене це спрацювало чудово:

  1. WINDOWS XP : Перейдіть до C: \ Документи та налаштування \ MyUserName \ Місцеві налаштування \ Дані програми \ Google \ Chrome \ Дані користувача \ За замовчуванням

    ON WINDOWS 7 : Перейдіть до C: \ Users \ MyUserName \ AppData \ Local \ Google \ Chrome \ Дані користувача \ За замовчуванням

  2. Скопіюйте 3 файлу: Preferences, Web DataіWeb Data-journal

  3. Покладіть ці 3 файли на цільову машину


працював для мене без "веб-даних-джоунал" (просто опустіть обидва файли у папку "за замовчуванням", перезавантажте хром)
JinSnow

1

Я написав сценарій python, який завантажує визначення з даних JSON. Тепер ви можете керувати своєю конфігурацією як код:

https://gist.github.com/ninowalker/9952bf435f8acffa3ef59d6c538ca165

Це idempotent (наприклад, його можна запустити кілька разів; звичайно не додавати дублікати за ключовим словом).

Працює з python2 та OSX. Може бути змінено для підтримки інших платформ.


0

Для мене я перебуваю під Windows 10 і хотів скопіювати пошукові системи з особистого хромованого профілю на свій корпоративний хром-профіль. Я зробив наступне:

  1. Я завантажив SQLite з https://www.sqlite.org/download.html (у розділі "Попередньо скопійовані бінарні файли" з описом "Пакет засобів командного рядка для управління файлами баз даних SQLite"). Я розпакував це до c:\utilsтого, що вже на моєму шляху

  2. Я відкрив cmd.exe

  3. Я змінив каталог на стандартний (особистий) профіль хрому

    cd "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default"

  4. Я повністю вийшов із Chrome (навіть у лотку). Також зберігайте копію цих інструкцій (або відкрийте їх в іншому браузері), оскільки ви втратите їх.

  5. Я пробіг наступне:

    sqlite3 "Web Data" ".dump keywords" > c:\keywords.sql

  6. Я змінив новий профіль:

    cd "..\Profile 2\"

  7. Я керував цим:

    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 вручну.

  1. Я запустив резервну копію Chrome, і зараз мої ключові слова пошуку працюють нормально.

0

Ось як я це роблю (не пам’ятаю, де я його знайшов).

  1. Створіть сценарій 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
    
  2. Створіть сценарій 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
    
  3. Зробіть їх виконуваним:

    chmod +x export_chrome_search_engines.sh import_chrome_search_engines.sh 
    
  4. Щоб експортувати, вимкніть Chrome і запустіть:

    ./export_chrome_search_engines.sh
    cp ~/.config/google-chrome/Default/keywords.sql /tmp/
    
  5. Щоб імпортувати, вимкнути Chrome і запустити:

    cp /tmp/keywords.sql  ~/.config/google-chrome/Default
    ./import_chrome_search_engines.sh
    

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.