网页文章采集器( CSS基础/CSS选择器和Xpath选择器的功能一致的分析)

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

  网页文章采集器(

CSS基础/CSS选择器和Xpath选择器的功能一致的分析)

  

  /前言/

  今天给大家介绍的是 Scrapy 中的另一个选择器,就是大家经常听到的 CSS 选择器。

  /CSS 基础知识/

  CSS 选择器和 Xpath 选择器的功能是一样的。两者都帮助我们定位网页结构中的特定元素,但在语法表达上存在差异。 Xpath选择器已经可以帮助我们提取信息了,为什么还要学习CSS选择器呢?

  萝卜青菜各有千秋,不同知识背景的朋友可以提取网页信息。只要是能抓到老鼠的猫,就是好猫。同样,只要能提取信息,无论是正则表达式、BeeatafulSoup、Xpath选择器还是CSS选择器,都是不错的选择器。效率和难度不一样。此外,对于前端合作伙伴来说,CSS 选择器对他们来说要简单得多。

  CSS选择器功能强大,从实用性开始,下面是一些比较常用的CSS选择器语法,比较简单,但是也很实用的语法,希望大家能牢牢掌握,以后提取出来会得到两次当涉及到网络信息时,结果事半功倍。

  

  有了上面的CSS基础之后,我们开始实际应用。

  /实际应用/

  还是以之前的网站为例进行说明。我们的目标数据是标题、发布日期、主题、正文内容、点赞数、采集数、评论数等。

  1、关于title部分,我们之前用Xpath的表达式分析过,得到了唯一的定位标签。此处不再赘述,如下图所示。

  

  2、依然使用scrapyshell的调试模式来辅助,结合上面的基本CSS语法,标题的具体CSS表达如下图所示。

  

  需要注意的是,CSS中获取标签文本内容的方式是在CSS表达式后面加上“::text”。请记住,有两个冒号,这与 Xpath 表达式不同。这个表达式看起来比Xpath表达式更简洁,所以在某些情况下,如果你觉得CSS选择器的表达式比Xpath表达式短或者比较容易理解,可以选择CSS选择器,没有具体的你可以根据自己的喜好选择,反之亦然。当然,您也可以在一个爬虫文件中同时使用两个或多个选择器。

  3、 接下来是发布日期的提取。网页与源代码的交互仍然以交互方式实现。 “entry-meta-hide-on-mobile”标签是全局唯一的,可以很容易的定位到元素,如下图所示。

  

  4、根据网页结构,我们可以很容易的写出发布日期的CSS表达式。可以先在scrapy shell中进行测试,然后将选择器表达式写入爬虫文件中。详情如下图所示。

  

  5、关于文章主题标签的CSS表达,可以看到在网页结构中日期的下方,如下图所示。

  6、 通过更改发布日期的CSS 表达式,可以获得文章topic 标签。 文章主题标签在a标签下,如下图所示。

  

  获取整个列表后,使用join函数将数组中的元素用逗号连接起来,生成一个新的字符串,称为tags,然后写入到Scrapy爬虫文件中。

  7、点赞数,分析方法和之前一样。找到唯一的标签“vote-post-up”来定位数据。

  

  8、点赞数在h10标签下,根据网页结构写出CSS表达式。调试过程如下图所示。

  

  取出的点赞数是一个字符串,需要用int()强制转换成数字。

  /摘要/

  本文基于CSS的理论基础,主要介绍CSS选择器的简单语法以及CSS选择器的使用制作相关数据采集,下一篇文章将继续分享CSS表达数据采集方法,敬请期待,期待,希望对大家的学习有所帮助。

  如果想进一步了解Python,可以参考学习网站:点击阅读原文,可以直达~

  [编辑推荐]

  机器人也开始“怕痛”,可以在无需人工干预的情况下“自愈”这些 IPv6 问题。你了解 1024 程序员节:一切都有一个根本原因 Python 中的收益率到底是什么?使用 Terraform 在 AWS 上部署 Jenkins

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线