php正则函数抓取网页连接( Python选择器高薪就业(视频、学习路线、免费获取))

优采云 发布时间: 2021-12-19 19:05

  php正则函数抓取网页连接(

Python选择器高薪就业(视频、学习路线、免费获取))

  

  今天给大家总结一下这四种选择器,让大家对Python选择器有更深入的了解和熟悉。

  

  Python高薪就业(视频、学习路线、免费获取)shimo.im

  

  一、正则表达式

  正则表达式为我们提供了一种快速获取数据的方法。

  这种正则表达式虽然更容易适应未来的变化,但存在构建困难、可读性差的问题。什么时候

  抓取京东时,正则表达式如下图所示:

  

  使用正则表达式实现目标信息的准确性采集

  另外,我们都知道网页经常会发生变化,从而导致网页中的一些细微的布局变化。这时候之前写的正则表达式已经不能满足需要了,也不容易调试。

  当需要匹配的内容很多时,使用正则表达式提取目标信息会降低程序运行速度,消耗更多内存。

  二、美汤

  BeautifulSoup 是一个非常流行的 Pyhon 模块。

  该模块可以解析网页并提供方便的界面来定位内容。

  这个模块的安装可以通过'pip install beautifulsoup4'来实现。

  

  使用美汤提取目标信息:

  使用 BeautifulSoup 的第一步是将下载的 HTML 内容解析成一个 soup 文档。

  由于大多数网页没有好的 HTML 格式,BeautifulSoup 需要确定实际的格式。

  BeautifulSoup 可以正确解析丢失的引号和关闭标签。此外,它会添加<html> 和<body> 标签,使其成为一个完整的HTML 文档。

  find() 和 find_all() 方法通常用于定位我们需要的元素。

  如果想了解BeautifulSoup的所有方法和参数,可以参考BeautifulSoup的官方文档。

  虽然在代码理解上,BeautifulSoup 比正则表达式复杂,但更容易构建和理解。

  三、Lxml

  Lxml模块是用C语言编写的,解析速度比BeautiflSoup快,安装过程也比较复杂,这里不再赘述。

  XPath 使用路径表达式来选择 XML 文档中的节点。

  通过遵循路径或步骤来选择节点。

  

  路径

  使用lxml模块的第一步和BeautifulSoup一样,都是将潜在的非法HTML解析成统一的格式。

  虽然Lxml可以正确解析属性两边缺失的引号并关闭标签,但是模块并没有添加额外的<html>和<body>标签。

  在线复制 Xpath 表达式可以轻松复制 Xpath 表达式。

  但是这种方法得到的Xpath表达式在程序中一般是不能用的,看的太长了。

  因此,Xpath 表达式一般要自己使用。

  四、CSS

  CSS 选择器表示用于选择元素的模式。

  BeautifulSoup 集成了 CSS 选择器的语法和它自己方便的 API。

  在网络爬虫的开发过程中,对于熟悉CSS选择器语法的人来说,使用CSS选择器是一种非常方便的方法。

  

  CSS 选择器

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

  选择所有标签: * 选择 <a> 标签: a 选择所有带有 class="link" 的元素:.l in k 选择带有 class="link" 的 <a> 标签:a.link 选择带有 id 的 <a = "home" > Tag: a Jhome 选择父元素为 <a> 标签的所有 <span> 子标签: a> span 选择 <a> 标签内的所有 <span> 标签:span 选择所有 <span> 标签的标题属性是“家” <a >标签:a [title=Home]

  五、性能对比

  lxml 和正则表达式模块都是用 C 编写的,而 BeautifulSoup 是用纯 Python 编写的。下表总结了每种爬取方法的优缺点。

  

  必须知道的是。

  在其内部实现中,lxml 实际上将 CSS 选择器转换为等效的 Xpath 选择器。

  六、总结

  如果你的爬虫的瓶颈是下载网页而不是提取数据,那么使用更慢的方法

  (比如BeautifulSoup)不是问题。

  如果你只需要抓取少量数据,又想避免额外的依赖,那么正则表达式可能更合适。

  但是,一般情况下,l xml 是捕获数据的最佳选择,因为这种方法快速且健壮,而正则表达式和 BeautifulSoup 仅在某些场景下有用。

  读者福利,点击链接领取相关学习福利包:

  Python高薪就业(视频、学习路线、免费获取)shimo.im

  

  是安全的网站不用担心,继续访问后即可收到

  

  就业系列:只有有方向和目标的学习才能节省时间,没有方向和目标的学习纯粹是浪费时间。

  

  部分视频展示:

  

  

  电子书系列:视频通俗易懂,电子书作为辅助。有时看视频不方便。您可以使用电子书作为辅助

  

  Python人工智能系列:

  

  学习是一个人最大的成就。通过学习,不仅可以提升自己的境界,还可以丰富自己的知识,为以后的就业打下基础。

  看到最后的朋友们,如果你觉得这个文章对你有好处,请给我点个赞,关注我的支持!!!!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线