2010-12-02 11 views
8

Googleウェブ履歴に数年前に戻った古いGoogle検索を検索したい。プログラムでそれらをすべて取得するにはどうすればよいですか?Googleのウェブ履歴から古い検索を取得する

https://www.google.com/history/?output=rssは、最近のGoogle検索のみを提供しますが、すべてではありません。

また、この質問:How can I retrieve my Google search history?は私の質問に答えを提供していません!

+0

ください。すべてのページに行き、htmlを解析して必要なデータを取得することは言及していません。 – Pratik

答えて

14

月、日、年をパラメータとして渡して、特定の日の履歴を取得することができます。

など。 https://www.google.com/history/lookup?month=12&day=1&yr=2010&output=rss for 2010年12月1日。

歴史全体はもちろんのこと、完全な月または年の履歴を取得する方法はありません。しかし、このパラメータに関する情報は、少なくとも毎回時間の中でさらに1日後になるいくつかのループで履歴全体を取得できるようにする必要があります。あまりにも短い時間であまりにも疲れないように気をつけてください。

+0

+1これが正解として選択されていないのはなぜですか? – Zevan

+0

リモートサーバーがエラーを返しました:(401)権限がありません。 – Pratik

+0

リモートサーバーからエラーが返されました:(504)ゲートウェイタイムアウト。 – Pratik

3

これは非常に難しいと思います。

私はあなたに完全に質問に答えることはできませんが、少なくともWebページは保存されている可能性があることをご了承ください。過去の日付からWebページを再作成するための組織やツールがあります。たとえば、http://www.mementoweb.org/を参照してください。

UPDATE:私はちょうどメメントは、デジタル保存賞(http://www.dpconline.org/newsroom)を獲得したことを学びました

4

あなたが本当にページでHTMLページを解析し、あなたのデータをフェッチする必要があり、なぜなら、私は何か別の選択肢があるとは思わないからです!

3

すべてのページに戻ってくるわけではありませんが、ページ全体を解析する必要はありません。常にエントリの前にある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のこのシーケンスはページ上で一意であり、履歴検索用語がリストされているときにのみ発生します。

2つの用語を使用すると、その用語の間に+が入ります。異なる検索モードのための他の規則、私はそれらすべてを通らなかった。

BalusCのメソッドを使用してパラメータを渡すと、htmlを取得して、指定した文字列(\ "とその他の特殊文字)を検索してから次の文字列をコピーします次に、あなたがする必要があるすべてはあなたの検索用語ではなく、ページ全体を解析している。&文字に達する。あなたが最後に到達するまでループであなたの次の繰り返しに進み、その後、ソースコードを通過します。

2
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)); 
} 
+0

私はウェブ開発者ではありません(私はプログラミング経験があります)。このjavascriptコードを含むHTMLページを作成し、XMLからHTMLテーブルを作成しますか?私はこの質問が非常に長い前からあったと知っていますが、それでも解決策を探しています。 – stephenmm

関連する問題