獲取Google搜索結果的網站排名

.net c# google-search html-agility-pack parsing

我想編寫一些算法或解析器,它應該在谷歌搜索結果中獲得站點位置。問題是每次谷歌頁面佈局都會改變我應該更正/更改算法。你怎麼認為男人會經常改變?有關於確定Google網站位置的任何技巧/建議/竅門嗎?

如何製作穩健的位置檢測算法?

我想為此目的使用C#,.NET 2.0和HtmlAgilityPack。任何建議或建議將非常感謝。先謝謝你,伙計們!


POST更新

我知道谷歌會顯示驗證碼以防止機器查詢。我得到了特殊的服務,這將識別任何驗證碼。你能告訴我你在精確刮擦結果方面的經驗嗎?

一般承認的答案

一年前我問了這個問題並得到了一些好的答案。絕對是Agility Pack的出路。

最後,我們了代碼粗略刮刀,其所做的工作,並沒有任何問題跑了。我們相對輕鬆地打擊谷歌(每天約25次查詢)。我們採取了隨機預防措施1)訂單和2)時間和3)查詢之間暫停的時間。我不知道是否有任何幫助,但我們從來沒有被驗證碼擊中。

我們現在不打擾它了。

它的主要弱點是:

  • 我們只打算檢查第一頁(我們可能已經編寫了一個增強版本,該版本查看了前X頁,但可能會有更高的風險 - 就Google被檢測到而言)。

  • 它的結果不可靠並且跳了起來。你可以連續幾週每週排名第8,除了你第三次隨機的一天。也許......仔細閱讀每日或每週閱讀並記錄我們的排名的整個想法太缺陷了

要回答你關於谷歌破壞你的代碼的問題:谷歌在我們運行它的所有月份都沒有進行根本性的改變,但他們改變了一些東西 ,打破了我們保存結果的“快照”(可能是CSS改變?)沒有做任何事情來提高結果的可信度。


熱門答案

Google提供了大量的API來訪問他們的服務。搜索時,可以使用自定義搜索API



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因