python3的urllib以及urllib2的報錯問題
阿新 • • 發佈:2018-05-06
error: python3.3 baidu 3.3 nco line bsp article tex
將urllib2給改為urllib.request即可正常運行
1.
urllib.urlencode(params)
換成
urllib.parse.urlencode(params)
2.
在python3.3後urllib2已經不能再用,只能用urllib.request來代替response=urllib2.urlopen(‘ File "b.py", line 1, in <module> ImportError: No module named ‘urllib2‘ response=urllib.urlopen(‘ File "b.py", line 2, in <module> http://www.baidu.com‘)
將urllib2給改為urllib.request即可正常運行
import urllib.request
print(urllib.request.__file__)
3.
在學習爬蟲的時候,用到postdata時,遇到了一個問題:
POST data should be bytes or an iterable of bytes
一開始以為是自己代碼寫的有問題,對照著教程和自己的代碼,又沒有錯誤。
在網上查了一下,可以用下面的一個語句解決。
data = urllib.parse.urlencode(values).encode(encoding=‘UTF8‘)
python3的urllib以及urllib2的報錯問題