HTTP 错误 403:禁止访问 urllib2 请求

HTTP Error 403: Forbidden on urllib2 request

我正在使用 python 的 urllib2 和 bs4。但是 urllib2 是 运行 into some issues。 某些网站,例如: http://dannijo.com/jewelry/necklaces/paloma.html

http://www.freepeople.com/

只有return错误显示如下

HTTP Error 403: Forbidden

我在堆栈溢出上看到了这个问题: 。 但是他们建议的 hdrs 没有通过 403 Forbidden.

如果有人知道更好的 hdr 或者如果他们可以让我知道是什么导致了这个问题,我们将不胜感激。

这是我目前拥有的代码:

    hdr = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
       'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
       'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
       'Accept-Encoding': 'none',
       'Accept-Language': 'en-US,en;q=0.8',
       'Connection': 'keep-alive'} 
    req = urllib2.Request(url,headers=hdr)
    page = urllib2.urlopen(url)
    soup = BeautifulSoup(page.read())

您实际上并没有使用 req 实例。所以请执行以下操作:

soup = BeautifulSoup(urllib2.urlopen(req).read())