2010-09-17 60 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阻止。确保您遵守您正在编写脚本的搜索引擎的使用条款。