‘壹’ python3.4中urllib 有没有urlencode函数
有,python 3.x中urllib和urilib2合并成了urllib。
其中urllib2.urlopen()变成了urllib.request.urlopen()
urllib2.Request()变成了urllib.request.Request()
‘贰’ python3中怎么没有urllib2
urllib2是python2自带的模块,不需要下载。
urllib2在python3.x中被改为urllib ,你直接输入urllib就可以了
>>>importurllib
下图是我电脑上的Python3.5版本的
‘叁’ python3urllib库怎么学习
所有方法过一遍,忌复制粘贴,一定要纯手打,别以为这只是关系打字速度,和你复制粘贴差一个档次
‘肆’ PYTHON3,加载不了urllib.request!求大神指点!
它说的是你其他位置的代码有语法错误,不是报的无法import
还有python3里应该可以直接用requests库
‘伍’ 如何使用 python3+urllib 发送一个 application/json 的请求
head = {
'Accept': '*/*',
'Host': '',
'Connection': 'keep-alive',
'Content-Length': '245',
'Origin': '',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome'
'/51.0.2704.103 Safari/537.36',
'Content-Type': 'application/json',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Referer': '',
'Accept-Language': 'zh-CN,zh;q=0.8',
'Accept-Encoding': 'gzip, deflate'
}
cookie = cookiejar.CookieJar()
handler = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(handler)
opener.addheader(head)
# 其他为了获取 cookie 的各种请求。
.....
.....
.....
parsed_request_data = json.mps(self.hotel_search_request_data).encode()
response = openner.open(self.hotel_search_url, parsed_request_data)
‘陆’ python3.4没有urllib2怎么办
python 3.x中urllib库和urilib2库合并成了urllib库。
其中urllib2.urlopen()变成了urllib.request.urlopen()
urllib2.Request()变成了urllib.request.Request()
‘柒’ Python3 如何对url解码实现Python2中urllib.unquote的作用
url编码:
import urllib
url = 'http://test.com/s?wd=哈哈' #如果此网站编码是gbk的话,需要进行解码,从gbk解码成unicode,再从Unicode编码编码为utf-8格式。
url = url.decode('gbk', 'replace')
print urllib.quote(url.encode('utf-8', 'replace'))
‘捌’ python3怎么用urllib模块实现基本认证登录
你用2to3.py试过了么?
‘玖’ python3 urllib加头信息
defget(url,headers=None,timeout=2,decode='utf-8'):
rt=HttpReturn()
try:
ifheadersisNone:
hr=urllib.request.urlopen(url,timeout=timeout)
else:
req=urllib.request.Request(url,None,headers)
hr=urllib.request.urlopen(req,timeout=timeout)
rt.obj=hr
rt.text=hr.read().decode(decode)
rt.status=hr.status
finally:
returnrt
这是我写的一个函数,你看看应当是这种用法
‘拾’ python3爬虫urllib.request.urlopen("网址").read() 本来是utf-8,为什么还要加上urlencode(“utf-8”)
你这行代码是不需要urlencode()的。
对于返回的request对象,其read()方法获得的其实是一个字节流对象,而非字符串对象,所以这时需要调用该字节流对象的decode()方法,按指定编码方式进行解码。
至于urlencode(),这是urllib中的一个函数,它的作用是将字符串进行url编码。这个编码其实就是个转义的过程,将那些因可能造成解释器误会或安全问题而不适合出现在请求中的符号进行转义,并且把超出url编码表的字符降维。