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