【beautifulsoup】python标准库解析器解析网页问题解决

来源:互联网 发布:catia软件的应用 编辑:程序博客网 时间:2024/04/29 09:21

使用python标准库解析(即BeautifulSoup(page, "html.parse"))出现网页解析问题

如下,页面明明没有结束,</html>却提前出现了,导致有些text没有了原本与之对应的标签,也就取不到了


在尝试了很多种方法之后,发现是解析器的问题,所以更换了解析器

BeautifulSoup(page, "html5lib")

from bs4 import BeautifulSoupimport urllib.requestimport logginglogging.basicConfig(level=logging.DEBUG)def parse(url):    page = urllib.request.urlopen(url)    soup = BeautifulSoup(page, "html5lib")    _desc_soup = soup.find("div", class_="det-app-data-info")    logging.debug("description is %s", _desc_soup.get_text().strip())

使用html5lib解析器需要安装这个model

pip install html5lib


安装之后还是运行会报错,崩溃。。。

module 'html5lib.treebuilders' has no attribute '_base'

其实升级一下html5lib就可以了,升级命令是:

pip install --upgrade html5lib==1.0b8。


现在可以正常运行了~

0 0