Скрипт для загрузки истории веб-поиска Google - PullRequest
4 голосов
/ 10 января 2012

Как написать сценарий для загрузки истории веб-поиска Google?

Я знаю о

https://www.google.com/history/

https://www.google.com/history/lookup?hl=en&authuser=0&max=1326122791634447

feed: https://www.google.com/history/lookup?month=1&day=9&yr=2011&output=rss

но они не работают при программном вызове, а не через браузер.

Ответы [ 4 ]

8 голосов
/ 12 февраля 2012

Я написал сообщение в блоге о том, как загрузить всю историю веб-поиска Google с помощью сценария, который я собрал.

Все это работает непосредственно в вашем веб-браузере на стороне клиента (т.е. никакие данные не передаются третьей стороне), и вы можете загрузить их в файл CSV.Вы можете просмотреть исходный код здесь:

http://geeklad.com/tools/google-history/google-history.js

В моем блоге есть букмарклет, с помощью которого можно легко запустить скрипт.Он работает, получая доступ к той же ленте, но выполняет итерацию для одновременного чтения всей истории 1000 записей, преобразования ее в строку CSV и загрузки данных одним нажатием кнопки.

Я запустилэто против моей собственной истории, и успешно загрузил более 130 тыс. записей, которые при экспорте в CSV получили около 30 МБ.

РЕДАКТИРОВАТЬ : Кажется, чтоКоличество фоксов, которые использовали мой сценарий, столкнулись с проблемами, вероятно, из-за некоторых странностей в их исторических данных.К сожалению, поскольку скрипт делает все в браузере, я не могу отладить его, когда он сталкивается с историями, которые его нарушают.Если вы разработчик JavaScript, используйте мой сценарий, и, похоже, ваша история привела к его разрушению;Пожалуйста, не стесняйтесь, чтобы помочь мне исправить это и отправить мне любые обновления кода.

1 голос
/ 07 марта 2015

Можно загрузить ее журналы поиска непосредственно из Google (в случае, если загрузка его с использованием скрипта не является основной целью),

Шаги:

1) Войдите в систему и перейдите к https://history.google.com/history/

2) Прямо под логотипом вашего профиля, справа, вы можете найти значок для настроек.Смотрите второй вариант под названием «Скачать».Нажмите на это.

3) Затем нажмите «Создать архив», и Google отправит вам журнал в течение нескольких минут.

1 голос
/ 28 марта 2014

Я попробовал систему GeekLad, к сожалению, произошли два критических изменения. # 1 URL изменился (я изменил и разместил свою собственную копию, что привело к тому, что аргументы # 2 type = rss больше не работают.

Мне нужно было толькометки времени ... так начался лучший / худший хак, который я когда-либо писал.

Шаг 1 - https://stackoverflow.com/a/3177718/9908 - Использование chrome отключает ВСЕ протоколы безопасности.

Шаг 2- https://gist.github.com/devdave/22b578d562a0dc1a8303

Используя contentscript.js и manifest.json, создайте расширение chrome, локально разместите ransack.js для любой службы (PHP, Ruby, Python и т. Д.). Перейти к https://history.google.com/history/ после установки расширения ContentScript в режиме разработчика (без упаковки). Он автоматически внедрит ransack.js + jQuery в dom, соберет данные и перейдет к следующей ссылке «Позже».

Каждые 60 секунд Google вынуждает вас повторно входить в систему случайным образом, так что это не начальный и уходящий процесс, НО он работает, и если они повышают ставку, вы всегда можете прибегнуть к цепочке вызовов Ajaxи отправить страницу обратно на сервер для последующей обработки.При полном наклоне мой сценарий мерзости собирал 1 страницу в секунду данных.

По моральным соображениям я никому не помогу изменить этот сценарий для получения условий поиска и результатов, поскольку этот процесс не санкционирован Google (хотя и не заблокирован).по-видимому) и рекомендую это только достаточно мотивированным людям, чтобы заставить это работать на них.По моим оценкам, мне потребовалось 3-4 часа, чтобы получить данные за все 9 лет (записи по 90 КБ) @ 1 страница каждые 900 мс или быстрее.

Пока идет такая работа, НЕ просматривайте остальную часть Интернета, потому чтоChrome работает без каких-либо мер безопасности, большинство из них существуют по какой-то причине.

0 голосов
/ 10 января 2012

возможно, перед тем как отправить запрос на получение фида, скрипт должен добавить HTTP-заголовок User-Agent известного браузера, чтобы Google решил, что запрос поступил от этого браузера.

...