Если вы не можете найти / написать расширение Chrome для этого, вы можете
А) получить список URL ваших закладок
Сначала я думал, что Bookmarks
файл в каталоге профиля chrome представляет собой базу данных sqlite3, как и некоторые другие файлы в ней. Это неверно Он выглядит как файл JSON, поэтому вам, вероятно, понадобится импортировать его в какой-то язык сценариев, который имеет средства JSON (почти все, что начинается с «p», - безопасная ставка, или даже JS, если вы хотите использовать Rhino / Spidermonkey / и т. д.), а затем извлечь определенные элементы.
На первый взгляд кажется, что вам нужно url
свойство каждого объекта, у которого свойство type равно "url"
. Хотя есть некоторые сложности: например, это также будет включать букмарклеты и другие вещи, у которых нет [релевантных] сайтов, так что вы, вероятно, захотите запустить фильтр результатов, чтобы ограничить их фактическими веб-URL. Все, что вы используете в B для получения сайтов, в любом случае может сначала проверить это и вернуть ошибку на недействительных URL.
B) сократить список URL закладок ( A ) до списка используемых ими хостов
Я думаю, это то, что вы хотите? Или может домены? За исключением случаев, когда он похож на * .co.uk или похожий? Это, вероятно , наиболее разумно сделано в том же сценарии , которые вы используете в A . Другой вариант - передать его через sed | sort | uniq
фильтр, хотя с этой опцией вы фактически не анализируете URL-адрес, и вам нужно использовать для этого некоторое регулярное выражение гетто. php
действительно хорош в таких вещах. Ну, по сравнению с его уместностью для большинства задач.
В) создать URL-адрес Google-запроса
... предваряя каждый элемент из B с site:
, соединив их со строкой +OR+
, а затем URL-кодирование и добавления (после +
) текста конкретнее вы хотите сделать поиск по. Вы прикрепляете результат в конце строки, как http://www.google.com/search?q=
.
Это должно дать вам URL, например, http://www.google.com/search?q=site:superuser.com+OR+site:stackoverflow.com+chrome
Тогда вы сможете просто передать этот URL-адрес в качестве первого аргумента при вызове командной строки, google-chrome
чтобы он открывал новую вкладку, содержащую результаты поиска. Обратите внимание, что, как минимум bash
, вам нужно заключить URL в кавычки, чтобы к нему не применялось расширение оболочки.
Поэтому, если вы хотите, вы можете свернуть это в утилиту командной строки, а затем просто запустить ее, передав ей свои условия поиска. Если Chrome запущен, вам, вероятно, следует сделать копию Bookmarks
файла перед его чтением, а затем удалить временный файл.
Если вы уже знаете JS, и особенно если вы не знаете дружественных к командной строке языков сценариев, может быть проще научиться писать расширение для Chrome, чем настраивать его.