1

所以,我创建了一个 Django 网站来抓取新闻网页的文章。即使我使用 mechanize,他们仍然告诉我:

HTTP Error 403: request disallowed by robots.txt 

我什么都试过了,看看我的代码(只是要刮的部分):

br = mechanize.Browser()
page = br.open(web)
br.set_handle_robots(False)
br.set_handle_equiv(False)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
    #BeautifulSoup 
htmlcontent = page.read()
soup = BeautifulSoup(htmlcontent)

我也尝试在 set_hande_robots(Flase) 等之前使用 de br.open。它也没有用。

有什么办法可以通过这些网站吗?

4

1 回答 1

5

你设置br.set_handle_robots(False)br.open()

它应该是:

br = mechanize.Browser()
br.set_handle_robots(False)
br.set_handle_equiv(False)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
page = br.open(web)
htmlcontent = page.read()
soup = BeautifulSoup(htmlcontent)
于 2014-01-19T20:09:03.913 回答