0

我正在制作一个使用谷歌搜索的程序,但我不能因为 HTTP 错误 403 有什么方法可以解决它或者我使用 mechanize 浏览这里是我的代码

from mechanize import Browser

inp = raw_input("Enter Word: ")
Word = inp

SEARCH_PAGE = "https://www.google.com/"

browser = Browser()
browser.open( SEARCH_PAGE )
browser.select_form( nr=0 )

browser['q'] = Word
browser.submit()

这是错误消息

Traceback (most recent call last):
File "C:\Python27\Project\Auth2.py", line 16, in <module>
browser.submit()
File "C:\Python27\lib\site-packages\mechanize\_mechanize.py", line 541, in submit
return self.open(self.click(*args, **kwds))
File "C:\Python27\lib\site-packages\mechanize\_mechanize.py", line 203, in open
return self._mech_open(url, data, timeout=timeout)
File "C:\Python27\lib\site-packages\mechanize\_mechanize.py", line 255, in _mech_open
raise response
httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt

请帮忙,谢谢

4

2 回答 2

6

您可以告诉 Mechanize 忽略该robots.txt文件:

browser.set_handle_robots(False)
于 2013-04-18T22:24:35.780 回答
2

Mechanize 试图尊重网站上/robots.txt文件宣布的抓取限制。在这里,Google 不希望抓取工具为其搜索页面编制索引。

您可以忽略此限制:

browser.set_handle_robots(False)

Web Crawler - Ignore Robots.txt 文件中所述?

此外,我建议改用Google 的自定义搜索 API,它公开了一个具有易于解析结果的适当 API。

于 2013-04-18T22:29:15.393 回答