怎么分析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)

相关推荐

  • Java如何调用Google API spelling check拼写检查

    技术Java如何调用Google API spelling check拼写检查这篇文章将为大家详细讲解有关Java如何调用Google API spelling check拼写检查,文章内容质量较高,因此小编分享给大家做

    攻略 2021年10月23日
  • 树莓派如何安装Samba实现和Windows共享

    技术树莓派如何安装Samba实现和Windows共享这篇文章将为大家详细讲解有关树莓派如何安装Samba实现和Windows共享,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。创建Sam

    攻略 2021年11月20日
  • 如何实现JVM内存监控工具用法

    技术如何实现JVM内存监控工具用法本篇文章为大家展示了如何实现JVM内存监控工具用法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。你对JVM内存监控工具的使用是否熟悉,这里向大家

    攻略 2021年10月23日
  • 如何使用dtb方式启动内核

    技术如何使用dtb方式启动内核这篇文章给大家介绍如何使用dtb方式启动内核,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。主要使用dtb方式启动LINUX内核的过程。采用DTB方式启动LINUX内核,

    攻略 2021年11月2日
  • 抖音刷赞平台推广软件,抖音刷赞软件是真是假

    技术抖音刷赞平台推广软件,抖音刷赞软件是真是假抖音刷粉丝分三个步骤:1.选择抖音刷粉丝通道,2.准备刷粉丝账号,3.选择需要的套餐下订单刷粉,4.解释刷粉原理和方法。
    抖音粉丝最重要的就是选择一个可靠可靠的渠道,一家好的

    测评 2021年11月9日
  • html进度条代码(html进度条显示百分比)

    技术html5进度条的标签是哪个本篇内容主要讲解“html5进度条的标签是哪个”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html5进度条的标签是哪个”吧!

    攻略 2021年12月15日