【问题标题】:Python Mechanize HTTP Error 403: request disallowed by robots.txt [duplicate]Python Mechanize HTTP 错误 403:robots.txt 不允许请求 [重复]
【发布时间】:2013-09-20 04:57:43
【问题描述】:

所以,我创建了一个 Django 网站,用于从网络抓取新闻网页以获取文章。 即使我使用机械化,他们仍然告诉我:

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。它也没有工作。

有什么方法可以通过这个网站?

【问题讨论】:

  • 他们被禁止,因为这些网站不希望任何机器人访问他们的资源。可能有法律条款。你应该远离他们。

标签: python django beautifulsoup mechanize robots.txt


【解决方案1】:

你在br.open()之后设置br.set_handle_robots(False)

应该是:

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-01
    • 2011-12-23
    • 1970-01-01
    • 2013-01-29
    • 2018-05-24
    • 2016-10-25
    • 1970-01-01
    • 2016-03-25
    相关资源
    最近更新 更多