request

本文介绍了Request库的功能及其与urllib2的关系,并探讨了如何使用HTMLParser解析HTML数据,包括处理标签和数据的方法,以及解决UnicodeDecodeError的具体步骤。
看了request之后总结与问题
request是对urllib2.request和urllib2.urlopen的封装,既可以定制header,data,打开url,也可以进行urlopen的打开,而且还封装了更多的功能。
可以进行cookie的定制吗?
还需要build_opener吗?(我觉的需要,因为cookie是在handler当中加载的),还是build__opener也被封装到request当中?

HTMLParser:
HTMLParser是用来解析HTML数据的
feed:向解析器喂数据

handle_starttag:处理html的开始标签
tag:标签名称
attr:属性列表

handle_data:处理标签里的数据体
data:数据文本

headers里面是键值对的形式,attr是一个可以迭代的数据,每个attr当中是一个列表的形式,[0]代表属性,[1]代表值,运行handle_starttag的时候会迭代每个标签,HTMLParser



Python报错UnicodeDecodeError: ascii codec can t decode byte 0xe0 

向HTMLParser喂数据报了这样的错误
解决:
import sys
reload(sys)
sys.setdefaultencoding('utf8')

或者

1. 这是Python 2 mimetypes的bug

2. 需要将Python2.7/lib/mimetypes.py文件中如下片段注释或删除:

try:
    ctype = ctype.encode(default_encoding) # omit in 3.x!
except UnicodeEncodeError:
    pass
































































转载于:https://www.cnblogs.com/wuqingzangyue/p/5749852.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值