第一次拿python写的爬虫解码不了
我在下面加p.decode('gb2312')报错说list不能解码于是我又将p转换为str还是报错,说str不能能解码
AttributeError: 'list' object has no attribute 'decode'
AttributeError: 'str' object has no attribute 'decode'
网站的编码是gb2323
本帖最后由 邓大侠 于 2019-7-13 16:56 编辑
从网站上爬取到内容一般都是字节型数据,
对data进行decode(gb2312)解码,就可以了.data是字节数据.
findall的返回值是一个list列表.直接str是没用的.得这样操作
p = re.compile(tj).findall(data.decode('gb2312'))
decode方法只能对字节数据操作,str支持的是encode()->转化为字节型数据类型
字节型的数据.decode()方法转化为str类型数据.
是不是库的问题呀,Python我也不太懂的 学习{:1_937:}{:1_937:}{:1_937:}{:1_937:}学习 import urllib.request
import re
data=urllib.request.urlopen("http://www.ttmeishi.com/QQqun").read().decode("gb2312")
tj = "<li>(.*?)</li>"
p = re.compile(tj).findall(data)
print(p)
楼主可以啦
你看看 最近也在学习爬虫,跟着前辈学习学习 谢谢大家了,我知道了,虽然大家的代码都不一样,但是表达的意思都是一样的,数据爬出来后一定要进行编码,而不是去解通过正则表达式获得的内容
页:
[1]