#PY小贴士# BeautifulSoup的解析器选择

简介: 后来帮他 debug 了一番,发现原因是对方网页里的 HTML 代码写得不规范,中间多了个 </html>,导致解析时认为网页已经结束,把后面的内容都截断了。

关于解析网页内容的工具 BeautifulSoup,我们之前做过介绍:

网页解析器 BeautifulSoup 上手教程

做爬虫获取网页信息,我推荐使用 bs4,比 xpath 更人性化些。

有爬虫课的同学在用 bs4 时遇到个问题:

网页拿下来是有内容的(成功获取了页面),在里面用 str 的 find 方法也能搜索到相关信息,但用 bs4 来提取就是提取不出。

后来帮他 debug 了一番,发现原因是对方网页里的 HTML 代码写得不规范,中间多了个 </html>,导致解析时认为网页已经结束,把后面的内容都截断了。

关于这一点,我们上面给的那篇文章里其实有提到:


html.parse - python 自带,但容错性不够高,对于一些写得不太规范的网页会丢失部分内容

lxml - 解析速度快,需额外安装

xml - 同属 lxml 库,支持 XML 文档

html5lib - 最好的容错性,但速度稍慢


把解析器参数换成容错度最高的 html5lib,就没这个问题了。对于一些不规范的网页很有用,但代价是解析速度会略有所下降。


#PY小贴士#里,我们会分享一些 python 知识点、开发中的小技巧、容易踩到的坑,以及学员遇到并在群里提到真实问题。篇幅尽量短小,适合碎片时间阅读,欢迎关注!

如果你在编程学习中有疑问,可选择以下方式向我们提问:

1. 加入码上行动答疑群(最及时响应)

2. 加入知识星球 https://t.zsxq.com/IiAiiQj

3. 发微博加上 #编程教室# @Crossin(非私信)

提问时请表述清楚,附上必要代码、输出等截屏。

也可向本栏目投稿,分享你开发中的经验。采纳后将署名发表,并可附上个人博客、公众号、Github等介绍。

相关文章
|
XML 前端开发 数据格式
请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
【2月更文挑战第22天】【2月更文挑战第67篇】请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
301 2
|
数据采集 开发者 Python
Python爬虫实战:利用Beautiful Soup解析网页数据
在网络爬虫的开发过程中,数据解析是至关重要的一环。本文将介绍如何利用Python的Beautiful Soup库来解析网页数据,包括解析HTML结构、提取目标信息和处理特殊情况,帮助开发者更好地实现爬虫功能。
|
XML 数据格式 开发者
解析数据的Beautiful Soup 模块(一)
解析数据的Beautiful Soup 模块(一)
423 0
|
数据采集 存储 调度
BeautifulSoup VS Scrapy:如何选择适合的HTML解析工具?
在Python网页抓取领域,BeautifulSoup和Scrapy是两款备受推崇的工具。BeautifulSoup易于上手、灵活性高,适合初学者和简单任务;Scrapy则是一个高效的爬虫框架,内置请求调度、数据存储等功能,适合大规模数据抓取和复杂逻辑处理。两者结合使用可以发挥各自优势,例如用Scrapy进行请求调度,用BeautifulSoup解析HTML。示例代码展示了如何在Scrapy中设置代理IP、User-Agent和Cookies,并使用BeautifulSoup解析响应内容。选择工具应根据项目需求,简单任务选BeautifulSoup,复杂任务选Scrapy。
530 1
BeautifulSoup VS Scrapy:如何选择适合的HTML解析工具?
|
数据采集 存储 数据库连接
Requests与BeautifulSoup:高效解析网页并下载资源
Requests与BeautifulSoup:高效解析网页并下载资源
|
数据采集 XML API
深入解析BeautifulSoup:从sohu.com视频页面提取关键信息的实战技巧
深入解析BeautifulSoup:从sohu.com视频页面提取关键信息的实战技巧
|
数据采集 JavaScript API
网页解析库:BeautifulSoup与Cheerio的选择
网页解析库:BeautifulSoup与Cheerio的选择
|
XML 前端开发 数据格式
Beautiful Soup 解析html | python小知识
在数据驱动的时代,网页数据是非常宝贵的资源。很多时候我们需要从网页上提取数据,进行分析和处理。Beautiful Soup 是一个非常流行的 Python 库,可以帮助我们轻松地解析和提取网页中的数据。本文将详细介绍 Beautiful Soup 的基础知识和常用操作,帮助初学者快速入门和精通这一强大的工具。【10月更文挑战第11天】
432 2
|
数据采集 XML 数据格式
解析Amazon搜索结果页面:使用BeautifulSoup
解析Amazon搜索结果页面:使用BeautifulSoup
|
前端开发 Python
解析数据的Beautiful Soup 模块(二)
解析数据的Beautiful Soup 模块(二)
296 1

热门文章

最新文章

推荐镜像

更多
  • DNS