怎么分析Python网络爬虫四大选择器正则表达式、BS4、Xpath、CSS

技术怎么分析Python网络爬虫四大选择器正则表达式、BS4、Xpath、CSS怎么分析Python网络爬虫四大选择器正则表达式、BS4、Xpath、CSS,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因

如何分析Python网络爬虫的四个选择器正则表达式、BS4、Xpath、CSS,相信很多没有经验的人都不知所措。因此,本文总结了出现问题的原因和解决方法,希望大家可以通过本文来解决这个问题。

今天,边肖将为大家总结这四个选择器,让大家对Python选择器有更深的理解和熟悉。

一、正则表达式

正则表达式为我们提供了获取数据的快捷方式。虽然这个正则表达式更容易适应未来的变化,但它很难构造,可读性也很差。爬JD.COM网时,正则表达式如下图所示:

怎么分析Python网络爬虫四大选择器正则表达式、BS4、Xpath、CSS

正则表达式精确获取目标信息

此外,众所周知,网页经常会发生变化,这导致网页中的一些小的布局变化。这时候之前写的正则表达式就达不到要求,也不容易调试。当有大量内容需要匹配时,使用正则表达式提取目标信息会降低程序的运行速度,消耗更多内存。

第二,美丽的组合

BeautifulSoup是一个非常受欢迎的Pyhon模块。这个模块可以解析网页,并为定位内容提供一个方便的界面。该模块可通过“pip install beautifulsoup4”安装。

怎么分析Python网络爬虫四大选择器正则表达式、BS4、Xpath、CSS

用靓汤提取目标信息。

使用美化组的第一步是将下载的HTML内容解析成一个汤文档。因为大部分网页都没有好的HTML格式,所以美化组需要确定实际的格式。美化程序可以正确解析缺少的引号并关闭标签。此外,它还会添加& ltHTML & gt和& lt>。标签,使其成为一个完整的HTML文档。我们通常使用find()和find_all()方法来定位我们需要的元素。如果你想了解美化组的所有方法和参数,可以查阅美化组的官方文档。虽然在理解代码方面,美化输出比正则表达式更复杂,但它更容易构造和理解。

Iii .Lxml

Lxml模块用C语言编写,解析速度比BeautiflSoup快,安装过程也比较复杂,这里就不赘述了。使用XPath表达式选择XML文档中的节点。按照路径或步骤选择节点。

怎么分析Python网络爬虫四大选择器正则表达式、BS4、Xpath、CSS

Xpath

使用lxml模块的第一步,就像美化组一样,是将可能非法的HTML解析成统一的格式。Lxml可以正确解析属性两边缺少的引号并关闭标签,但是模块不会添加额外的& lthtml &gt。和& lt>。标签。

在线复制Xpath表达式可以轻松复制Xpath表达式。但是用这种方法得到的Xpath表达式不能在程序中使用,而且读起来太长。因此,Xpath表达式通常必须由您自己使用。

第四,CSS

CSS选择器代表用于选择元素的模式。美化程序集成了CSS选择器的语法和它自己方便的API。在网络爬虫的开发过程中,对于熟悉CSS选择器语法的人来说,使用CSS选择器是一种非常方便的方法。

怎么分析Python网络爬虫四大选择器正则表达式、BS4、Xpath、CSS

CSS选择器

以下是一些常用选择器的例子。

选择所有标签:*

选择& lta &gt。标签:a

选择class="l in k "的所有元素:l in k

选择& lta &gt。class=“link”的标记:a.link

选择& lta &gt。id为“home”的标记:a home。

全选& ltspan >上。父元素为& lt的子标签a &gt。标签:跨度。

全选& ltspan >上。& lta &gt。标签:跨度。

全选& lta &gt。标题属性为“Home”的标签:a [title=Home]

动词(verb的缩写)性能比较

Lxml和正则表达式模块是用c语言编写的,而BeautifulSoup是用纯Python编写的。下表总结了每种抓取方法的优缺点。

怎么分析Python网络爬虫四大选择器正则表达式、BS4、Xpath、CSS

需要注意的是。在lxml的内部实现中,CSS选择器实际上被转换成一个等效的Xpath选择器。

如果你的爬虫的瓶颈是下载网页而不是提取数据,那么使用较慢的方法(比如美化程序)就不是问题。如果只需要抓取少量数据,又想避免额外的依赖,那么正则表达式可能更合适。但是,一般来说,l xml是捕获数据的最佳选择,因为这种方法快速且健壮,而正则表达式和美化组只在某些特定的场景中有用。

看完以上内容,你掌握了如何分析Python网络爬虫的四个选择器正则表达式、BS4、Xpath、CSS了吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/133807.html

(0)

相关推荐

  • 黑色上衣配什么颜色的裤子好看,黑色的上衣搭配什么颜色的裤子

    技术黑色上衣配什么颜色的裤子好看,黑色的上衣搭配什么颜色的裤子黑色是百搭色,陪什么裤子都好看。关键是什么场合黑色上衣配什么颜色的裤子好看、什么款式。如果是正装或准正装,在不是特别正式的场合,黑色、灰色、白色、卡其色、深蓝

    生活 2021年10月21日
  • Golang数组如何实现stack和queue数据结构

    技术Golang数组如何实现stack和queue数据结构这期内容当中小编将会给大家带来有关Golang数组如何实现stack和queue数据结构,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有

    攻略 2021年11月15日
  • 初二二次根式计算题,二次根式比较大小[初二]?

    技术初二二次根式计算题,二次根式比较大小[初二]?对于这样的比较大小,因为都是正数,可以直接利用初二二次根式计算题:A2(A平方,以下类同)>B2 等价于 A>B
    (A+B)2>(C+D)2等价于(A+B)>(C+D).

    生活 2021年10月23日
  • dy刷粉网站推广马上刷,有没有抖音刷点赞双击的神器?

    技术dy刷粉网站推广马上刷,有没有抖音刷点赞双击的神器?我们刷抖音的时候都会发现我们经常看到的那些视频点赞量都是非常高的,而且被点击的概率也更高,可能你的朋友们也刷到了这个视频。所以抖音视频点赞量对于提高抖音视频热度是非

    测评 2021年11月11日
  • ar发音,有“ar”的英语单词有哪些

    技术ar发音,有“ar”的英语单词有哪些1、car 汽车2、bar 酒吧3、cartoon 卡通4、park 公园5、hard 努力的6、large 大的7、far 远的8、star 星星9、mark 标记10、farm

    生活 2021年10月21日
  • python和sqlite3数据库如何实现简单登陆注册功能

    技术python和sqlite3数据库如何实现简单登陆注册功能这篇文章将为大家详细讲解有关python和sqlite3数据库如何实现简单登陆注册功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后

    攻略 2021年12月4日