Como posso compartilhar minhas entradas do mecanismo de pesquisa do Google Chrome?


30

Criei algumas entradas de pesquisa no Google Chrome usando 'Editar mecanismos de pesquisa'.

Como posso compartilhar algumas dessas entradas com meus colegas?


Esta é uma ótima pergunta. Encontrei ludovic.chabant.com/devblog/2010/12/29/…, mas não quero me incomodar em tentar, já que é de 2010-2011. 5 a 6 anos na internet é uma eternidade. Eu gostaria que houvesse uma maneira conveniente (atualizada) de compartilhar contas do Google e perfis na mesma instalação do Chrome.
Ryan

Respostas:


6

Aqui está um único comando para exportar seus mecanismos de pesquisa do Chrome como CSV no Linux:

sqlite3 -csv ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url from keywords' > ~/search-engines.csv

Você precisa do sqlite3 instalado. Substitua ~/.config/chromepelo caminho correspondente do Windows, se você estiver no Windows. Deve ser algo como%AppData%\Local\Google\Chrome\User Data

Exportando como SQL para Reimportação em Outro Lugar

Em vez de exportar para CSV, você pode exportar para instruções de inserção do 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

Copie ~/search-engine-export.sqlpara a outra máquina e importe com este comando:

sqlite3 ~/.config/chromium/Default/Web\ Data < search-engine-export.sql

Certifique-se de substituir o Web Datacaminho pelo da sua máquina, conforme descrito acima.


Trabalhou muito bem para mim! E eu gostaria de fornecer um plug para WSL no Windows 10, o que essencialmente torna essa uma solução nativa do Windows. Você também compartilharia o comando para importar?
tbc0

1
@ tbc0 Também adicionei instruções de importação. Eu não testei em WSL mas deve funcionar em teoria ...
William Casarin

Você pode ter que lidar com o caractere '. Você pode adicionar isso no seu awk function esc(s){gsub("\x27","\x27\x27",s);return s}por US $ 1 e US $ 2 ====> esc (US $ 1), esc (US $ 2)
Yzmir Ramirez

5

Aqui está uma solução simples para exportar e importar as configurações do mecanismo de pesquisa do Chrome sem usar nenhuma ferramenta externa ou editar o registro:

  1. Abra a página Configurações do mecanismo de pesquisa no Chrome ( chrome://settings/searchEngines).
  2. Abra as Ferramentas do desenvolvedor do Chrome.
    • Atalho: F12 ou Ctrl + Shift + I (no Windows, os atalhos em outras plataformas podem ser diferentes).
    • Navegação manual: menu de três pontos no canto superior direito > Mais Ferramentas > Ferramentas do desenvolvedor .
  3. Clique em Console na barra de menus superior das Ferramentas do desenvolvedor do Chrome.
  4. Cole um dos seguintes scripts no console e pressione Enter .

Para baixar um arquivo JSON com configurações do mecanismo de pesquisa:

(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));
    });
}());

Para importar configurações de um arquivo JSON criado usando o script acima:

(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]);
  });
}());

Notas

  • Testei os scripts no Chrome 75.0.3770.100 no Windows 8.1.
  • Os scripts exportam e importam enines de pesquisa apenas na seção Outros mecanismos de pesquisa , mas podem ser facilmente ajustados para incluir também os mecanismos de pesquisa padrão.
  • Não tente distribuir os scripts como bookmarklets, pois bookmarklets não são executados em chrome://URLs (já estiveram lá, fizeram isso).

Essas instruções funcionaram perfeitamente bem para mim, versão cromada 74.
Jason

Brilhante, ainda funciona em janelas v78.
junvar 26/11

4

É possível, mas é uma dor suficiente que você não vai querer.

  1. Encontre o arquivo de dados da Web no seu perfil do Chrome. No Windows 7, ele estará aqui: "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"

  2. Abra o arquivo com um programa SQLite como SQLite Studio ou sqlite no Ubuntu (sudo apt-get install sqlite) e exporte a tabela de palavras-chave no SQLite Studio ou execute este comando no Linux: sqlite3 "Web Data" ".dump keywords" > keywords.sql Caixa de diálogo de exportação do SQLite Studio

  3. Peça a seus colegas que importem as palavras-chave, fazendo o inverso desse processo.

Como eu disse, possível, mas doloroso.

Escrevi um analisador Javascript para converter o SQL de dados da Web no quase universal Netscape Bookmark File Format em HTML (irônico que o padrão definitivo para esse formato pareça ser a Microsoft) se você estiver interessado em colocar as palavras-chave em outros navegadores como o Firefox ou Opera.

Se você estiver interessado em uma solução alternativa, criei o Shortmarks para permitir que você use o mesmo conjunto de mecanismos de pesquisa personalizados em qualquer navegador e planejo implementar a capacidade de compartilhar em breve. O próximo lançamento em alguns dias terá o código de importação mencionado acima assim que terminar de testar os novos recursos.


1
Embora eu desejasse que o Google tornasse as coisas mais fáceis, eu pessoalmente não senti "é uma dor suficiente que não vou querer tentar". A resposta de Patrick foi muito útil para mim: superuser.com/a/688270/74576
Ryan

A resposta de William superuser.com/a/1350144/92959 foi totalmente fácil. Achei a resposta de Patrick muito complexa em comparação com a de William.
tbc0

2

Fiz o seguinte para compartilhar minhas entradas do mecanismo de pesquisa do Google Chrome e funcionou perfeitamente bem para mim:

  1. WINDOWS XP : Vá para C: \ Documents and Settings \ MyUserName \ Local Settings \ Application Data \ Google \ Chrome \ User Data \ Default

    NO WINDOWS 7 : Vá para C: \ Users \ MyUserName \ AppData \ Local \ Google \ Chrome \ User Data \ Default

  2. Copie esses 3 arquivos: Preferences, Web DataeWeb Data-journal

  3. Coloque esses 3 arquivos na máquina de destino


trabalhou para mim sem "data-Jounal web" (apenas uma gota ambos arquivo para a pasta "default", reiniciar o Chrome)
JinSnow


0

Para mim, estou no Windows 10 e queria copiar os mecanismos de pesquisa do meu perfil pessoal do chrome para o meu perfil corporativo do chrome. Eu fiz o seguinte:

  1. Fiz o download do SQLite em https://www.sqlite.org/download.html (em "Binários pré-compilados" com a descrição "Um pacote de ferramentas de linha de comando para gerenciar arquivos de banco de dados SQLite"). Eu descompactei para c:\utilsque já esteja no meu caminho

  2. Eu abri o cmd.exe

  3. Mudei o diretório para o meu perfil chrome (pessoal) padrão

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

  4. Saí completamente do Chrome (mesmo na bandeja). Além disso, mantenha uma cópia dessas instruções (ou abra-as em um navegador diferente), pois você as perderá.

  5. Eu executei o seguinte:

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

  6. Mudei para o novo perfil:

    cd "..\Profile 2\"

  7. Eu executei isso:

    sqlite3.exe "Web Data" < c:\keywords.sql

    Eu recebi os seguintes erros, que são aceitáveis:

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

Se você receber mais erros, isso significa que você adicionou mecanismos de pesquisa ao seu novo perfil. Exclua todos, incluindo os novos adicionados e execute novamente esta etapa. Ou edite o arquivo SQL manualmente.

  1. Disparei o Chrome e agora minhas palavras-chave de pesquisa funcionam bem.

0

É assim que faço (não me lembro onde o encontrei).

  1. Crie um 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
    
  2. Crie um 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
    
  3. Torne-os executáveis:

    chmod +x export_chrome_search_engines.sh import_chrome_search_engines.sh 
    
  4. Para exportar, desligue o Chrome e execute:

    ./export_chrome_search_engines.sh
    cp ~/.config/google-chrome/Default/keywords.sql /tmp/
    
  5. Para importar, desligue o Chrome e execute:

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.