Python编码问题beautifulsoup解析中文网页求指点,,对于同一个页面,几乎同样
Python编码问题beautifulsoup解析中文网页求指点,,对于同一个页面,几乎同样
对于同一个页面,几乎同样的代码,在Python3,windows8环境下能够正常解析运行。但是把代码移植到Ubuntu,Python2.7下面之后,会出现获取的网页不能被beautifulsoup解析,find_all('table')返回空节点的情况。
出问题的代码的一部分(可以运行):
python#coding:utf-8import sysreload(sys)sys.setdefaultencoding('utf-8')import urllib2from bs4 import BeautifulSouppostdata = "T1=&T2=1&T3=&T4=&T5=&APPDate=&T7=&T8=&T9=&PRDate=&T11=&SQDate=&JDDate=&T14=&T15=&T16=&T17=&SDDate=&T19=&T20=&T21=&D1=%B8%B4%C9%F3&D2=jdr&D3=%C9%FD%D0%F2&C1=fm&C2=&C3=&page=70"postdata = postdata.encode('utf-8')headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6','Referer':'http://app.sipo-reexam.gov.cn/reexam_out/searchdoc/searchfs.jsp'}req = urllib2.Request( url = "http://app.sipo-reexam.gov.cn/reexam_out/searchdoc/searchfs.jsp", headers = headers, data = postdata)fp = urllib2.urlopen(req)mybytes = fp.read().decode('gbk').encode('utf-8')soup = BeautifulSoup(mybytes,from_coding="uft-8")print soup.original_encodingprint soup.prettify()
求指点一二
有没有尝试过换一个解析器。
python2.7的html解析器容错率很差。
推荐lxml。
呃,这个主要是编码问题。。。python的encoding问题没弄明白绝对是个大坑。
我看到这几句话,好像都有点问题:
1. mybytes = fp.read().decode('gbk').encode('utf-8')2. soup = BeautifulSoup(mybytes,from_coding="uft-8")3. print soup.original_encoding4. print soup.prettify()
其中,
编橙之家文章,
相关内容
- py react-router 按需加载 404,pyreact-router,单页面应用js按照
- 请问py2exe可以生成类似dropbox软件吗,py2exedropbox,最近使
- 如何将获取到的data整理为mysql表方法,datamysql,# -*- co
- 请教tornado站点cookie无效不能登录的问题,tornadocookie,问
- python Anaconda使用conda连接网络出现了error,anacondaconda,我
- python flask web开发 中为何有这么多的直接返回一句话调
- 关于python mysql的duplicate insert机制的疑问,pythonduplicat
- python语言中的pcap与dpkt在统计中的作用分别是什么?,
- Python核心编程正负数判断代码不理解,python正负,我是
- Python多重继承MRO相关问题,pythonmro相关问题,关于pytho
评论关闭