python3的urllib以及urllib2的報錯問題


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'

將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')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM