Получить старые поиски из истории веб-поиска Google - PullRequest
8 голосов
/ 02 декабря 2010

Я хочу получить старые поисковые запросы Google, которые я делал несколько лет / месяцев назад и которые присутствуют в истории веб-поиска Google. Как я могу программно получить их все?

https://www.google.com/history/?output=rss предоставляет только последние поисковые запросы Google, но не все из них.

Также этот вопрос: Как я могу получить историю поиска Google? не дает ответа на мой вопрос!

Ответы [ 5 ]

14 голосов
/ 08 декабря 2010

Вы можете передать месяц, день и год в качестве параметров, чтобы получить историю определенного дня.

например. https://www.google.com/history/lookup?month=12&day=1&yr=2010&output=rss на 1 декабря 2010 г.

Нет способов получить историю за полный месяц или год, не говоря уже о всей истории. Но эта информация о параметрах должна, по крайней мере, позволить вам получить всю историю в каком-то цикле, который каждый день идет на один день назад во времени. Будьте осторожны, чтобы не слишком много пиявки за слишком короткое время.

4 голосов
/ 04 декабря 2010

Вам действительно нужно проанализировать HTML страницу за страницей, а затем извлечь ваши данные, потому что я не думаю, что есть какая-либо альтернатива!

3 голосов
/ 09 декабря 2010

Я знаю, что вы не собираетесь возвращаться на каждую страницу, но вам не нужно анализировать всю страницу, просто найдите HTML, который всегда предшествует записи.От меня только что запустил историю веб-поиска Google и сделал несколько простых поисков, если вы просматриваете страницу истории, каждая строка, которую вы искали, следует: <td style="padding:3px 0"><table id=bkmk_view_ class=noborder ><tr><td><table class="elem noborder"><tr><td class="grey" nowrap>Searched for&nbsp;</td><td nowrap><a title="http://www.google.com/search?q= и сопровождается & (амперсанд).Эта последовательность предыдущего html уникальна на странице, она возникает только при перечислении исторических поисковых терминов.

Если вы используете два термина, вы получаете знак + между терминами.Другие соглашения для различных режимов поиска, я не прошел их все.

Похоже, если вы используете метод BalusC для передачи параметров, то вы можете получить html, найти в документе строку, которую я упомянул (обязательно \ "и другие специальные символы), затем копируйте следующую строку, пока не достигнете символа &. Затем все, что вам нужно сделать, - это проанализировать поисковый запрос, а не всю страницу. Просматривайте исходный код, пока не дойдете до конца, а затем перейдите к следующей итерации в цикле.

3 голосов
/ 02 декабря 2010

Я думаю, это будет очень сложно.

Я знаю, что это не дает полного ответа на ваш вопрос, но, по крайней мере, веб-страницы могут быть сохранены.Существуют организации и инструменты, которые позволяют вам воссоздавать веб-страницы с прошлых дат - см., Например, http://www.mementoweb.org/.

ОБНОВЛЕНИЕ: Я только что узнал, что Memento выиграл награду в области цифрового сохранения (http://www.dpconline.org/newsroom)

2 голосов
/ 14 декабря 2010
static void GetGoogleWebHistory(int month, int day, int yr, string UserName, string Pass)
{
    string iURL = "http://www.google.com/history/lookup?month=" + month + "&day=" + day + "&yr=" + yr + "&output=rss";
    WebClient client = new WebClient();
    GDataCredentials gdc = new GDataCredentials(UserName, Pass);
    RequestSettings rs = new RequestSettings(Guid.NewGuid().ToString(), gdc);
    XmlDocument XDoc = new XmlDocument();
    XDoc.LoadXml(client.DownloadString(iURL));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...