Python BeautifulSoup解析html时部分源码丢失怎么办?,,在处理下载网页的时候,有
Python BeautifulSoup解析html时部分源码丢失怎么办?,,在处理下载网页的时候,有
在处理下载网页的时候,有时候会碰到一些奇葩的网页,在使用beautifulsoup解析的时候,会修改原来的html源码,导致下载的网页不完整。
比如:
from bs4 import BeautifulSouphtml="""<html><h1>12</h1></html><html><h2>12</h2></html>"""soup = BeautifulSoup(html)print str(soup)
结果:<html><h1>12</h1></html>
我的本意是先使用BeautifulSoup先对源代码进行解析处理,之后在保存html源码到本地。
而上面的例子,很明显就改变了网页源码了,导致下载的网页不全。
目前的解决办法
html = re.sub("</html>","",html,flags=re.S|re.IGNORECASE)+"</html>"
这样就能够“正常”解析了
个人感觉有两种方案,第一就是自己用正则来判断抓取网页中有没有多个html标签,有的话自行进行分割成两个小的页面进行解析。第二个方案直接当成xml来解析。
编橙之家文章,
相关内容
- python2字节码编码问题求助,python2字节码,# -*- coding
- python pip安装路径是放到/usr/lib or /usr/lib64,piplib64,/usr
- 批量缩进python项目重新格式化什么方法好,缩进python项
- Python与PHP哪个学习周期更短呢?,pythonphp周期,0 基础
- windows8.1系统在本机python搭建dns服务器可行吗?,windows
- 实现Python shell脚本调用已经安装好的upload模块应运,
- Python异常错误处理有更好的策略吗,python更好策略,Py
- 什么方法可以将atom打造成python开发环境,atompython,打印
- 求Python读取大数据量XML文件优化方案,pythonxml,我用 m
- u5dfb\u4e3b这样的是python什么编码,u5dfbu4e3b,python(subje
评论关闭