2010-09-17 38 views
0

我正在開發一個項目,該項目需要我收集大量關於某些主題的網站的URL。我想編寫一個腳本,使用谷歌搜索特定的術語,然後將結果中的URL保存到文件中。我會如何去做這件事?我使用了一個名爲xgoogle的模塊,但它總是返回沒有結果。搜索爬行「Bot」?

我在Windows 7上使用Python 2.6。

回答

1

谷歌有一個API庫。我建議你使用:http://code.google.com/apis/ajaxsearch/

這是一個安靜的API,這意味着它很容易通過python/js抓取結果。我認爲你只限於32項結果,但這應該足夠了。它將返回一個很好的結構化對象,您可以使用它而無需執行任何HTML解析操作。

如果您想'抓取',您可以使用urllib抓取每個URL並獲取THEIR的內容,以及它們引用的URL,等等。

+0

我該如何使用ulllib來做到這一點。這正是我想要做的,抓取每個我找到的頁面並按照它的鏈接,存儲我在爬網之前找到的每個鏈接。我查看了Google Googles API,但他們不再使用它。 – 2010-09-17 04:28:01

+0

好,基本的方法是獲取頁面內容,然後使用正則表達式來查找所有鏈接。但是這很快就會變得混亂。相反,看看美麗的湯。它對處理html有好處 – 2010-09-17 14:25:30

+0

此Api已棄用。 http://code.google.com/intl/it-IT/apis/websearch/docs/他們建議使用自定義搜索引擎API,每天有100多個查詢。 :-( – Pons 2011-08-29 13:02:10

0

確保您更改了urllib2的用戶代理。默認的一個往往會被Google阻止。確保您遵守您正在編寫腳本的搜索引擎的使用條款。