Python之BeautifulSoup

本文介绍了在使用BeautifulSoup解析HTML时需要注意的几个问题,包括指定源文件字符集以避免`UnicodeDecodeError`,处理多层级选择,以及在写入文件时的编码问题。通过示例代码和详细解释,阐述了Python中Unicode与编码转换的重要性。
摘要由CSDN通过智能技术生成

BeautifulSoup是一个html解析器,其主要功能是将html解析成树的结构,关于具体的用法官网介绍(http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html)了很多,在这里不在赘述。

在用BeautifulSoup解析html过程中遇到几个问题需要注意下:

1、解析html需要添加源文件字符集

url = 'http://newhouse.sh.fang.com/house/saledate/param_sd201011_or_pa1.htm'
request = urllib2.Request(url)
request.add_header('Accept-encoding', 'gzip')
response = urllib2.urlopen(request,timeout=20)
buf = StringIO( response.read())
f = gzip.GzipFile(fileobj=buf)
html = f.read()
soup=BeautifulSoup(html,from_encoding="gb18030")

其中使用BeautifulSoup解析html的时候最好添加f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值