【发布时间】:2017-04-30 01:24:55
【问题描述】:
我想从网站上抓取数据;但是我不断收到 HTTP:错误 405:不允许。我做错了什么?
(我查看了文档,并尝试了他们的代码,只有我的 url 代替了示例的;我仍然有同样的错误。)
代码如下:
import requests, urllib
from urllib.request import Request, urlopen
list_url= ["http://www.glassdoor.com/Reviews/WhiteWave-Reviews-E9768.htm"]
for url in list_url:
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
response=urllib.request.urlopen(req).read()
如果我跳过用户代理术语,我会收到 HTTP 错误 403:禁止。
过去,我曾使用以下方法成功地(从另一个网站)抓取数据:
for url in list_url:
raw_html = urllib.request.urlopen(url).read()
soup=None
soup = BeautifulSoup(raw_html,"lxml")
理想情况下,我想保持类似的结构,即将获取的 url 的内容传递给 BeautifulSoup。 谢谢!
【问题讨论】:
标签: python-3.x web-scraping urllib http-status-code-405