Если вы не можете найти / написать расширение Chrome для этого, вы можете
А) получить список URL ваших закладок
Сначала я думал, что файл Bookmarks
в каталоге профиля chrome представляет собой базу данных sqlite3, как и некоторые другие файлы в ней. Это неверно Он выглядит как файл JSON, поэтому вам, вероятно, понадобится импортировать его в какой-то язык сценариев, который имеет средства JSON (почти все, что начинается с «p», - безопасная ставка, или даже JS, если вы хотите использовать Rhino / Spidermonkey / и т. д.), а затем извлечь определенные элементы.
На первый взгляд кажется, что вы захотите свойство url
каждого объекта, у которого свойство type равно "url"
. Хотя есть некоторые сложности: например, это также будет включать букмарклеты и другие вещи, у которых нет [релевантных] сайтов, так что вы, вероятно, захотите запустить фильтр результатов, чтобы ограничить их фактическими веб-URL. Все, что вы используете в B для получения сайтов, в любом случае может сначала проверить это и вернуть ошибку на недействительных URL.
B) сократить список URL закладок (A) до списка используемых ими хостов
Я думаю, это то, что вы хотите? Или может домены? За исключением случаев, когда он похож на * .co.uk или похожий? Это, вероятно, наиболее разумно сделано в том же сценарии, который вы используете в A. Другой вариант - пропустить через sed | сортировать | Фильтр 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, чем настраивать его.