『壹』 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編碼表的字元降維。