为了账号安全,请及时绑定邮箱和手机立即绑定

第二种方法里,为什么出现'Request' object has no attribute 'urlopen'

import urllib.request

import http.cookiejar

url="http://www.baidu.com"


cj=http.cookiejar.CookieJar()

opener=request.build_opener(request.HTTPCookieProcessor(cj))

request.install_opener(opener)

response=request.urlopen(url)

print(response.getcode())


print("第二种方法")

request=request.Request(url)

request.add_header("user-agent","Mozilla/5.0")

response2=request.urlopen(request)

print(response2.getcode())

print(response2.read())


正在回答

4 回答

在Python3中我们用urllib.requet 代替urllib2

看你的代码应该是Python3,其中包含了request方法,所以结果第一行返回结果一样的话,程序会认为你下面的request是你上面第一行的返回,所以出错。

1 回复 有任何疑惑可以回复我~
req=request.Request(url)
req.add_header('user-agent','Mozilla/5.0')
req.add_header('a','1')
response2=request.urlopen(req)
print(response2.getcode())
print(len(response2.read()))
print(response2.read())

第一行返回的结果和request重名了,改成别的名字就好了

0 回复 有任何疑惑可以回复我~

你添加一行
request.encoding='utf-8'

0 回复 有任何疑惑可以回复我~

好像是因为Requset写成了requset。但是是为什么呢



0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python开发简单爬虫
  • 参与学习       227670    人
  • 解答问题       1219    个

本教程带您解开python爬虫这门神奇技术的面纱

进入课程

第二种方法里,为什么出现'Request' object has no attribute 'urlopen'

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信