干货教程:在Scrapy中如何利用CSS选择器从网页中采集目标数据——详细教程(上篇)

优采云 发布时间: 2022-10-21 09:18

  干货教程:在Scrapy中如何利用CSS选择器从网页中采集目标数据——详细教程(上篇)

  点击上方“Python爬虫与数据挖掘”关注

  回复“书籍”获取Python从入门到进阶共10本电子书

  这个

  天

  鸡

  汤

  浔阳河首夜送客,枫叶棣花入秋。

  /前言/

  前几天给大家分享了一个简单的Xpath语法使用教程。还没来得及上车的可以戳这个文章:,。今天小编要介绍的是Scrapy中的另一种选择器,也就是大家经常听到的CSS选择器。

  /CSS 基础/

  CSS选择器和Xpath选择器的作用是一样的,都是帮助我们定位网页结构中的特定元素,只是语法表达上有所区别。Xpath 选择器已经可以帮助我们提取信息,为什么还要学习 CSS 选择器呢?

  萝卜和蔬菜都有自己的最爱。对于不同知识背景的朋友,可以提取网页信息。只要是能抓老鼠的猫,就是好猫。同样的,只要能提取信息,不管是正则表达式、BeatafulSoup、Xpath选择器还是CSS选择器,都是不错的选择器,但是在效率和难度上就不一样了。另外,对于前端的朋友来说,CSS选择器对他们来说就简单多了。

  CSS 选择器很强大。从实用性的角度来看,以下是一些比较常用的 CSS 选择器语法。它们相对简单,但也是非常实用的语法。希望大家能够牢牢把握。时间会事半功倍。

  表达

  解析

  *

  选择所有节点

  div 跨度

  选择所有div下的所有span节点(子节点)

  

  div > p

  选择div下面的第一个p子元素

  .entry-header

  选择类中收录 entry-header 的所有节点

  #容器

  选择id为容器的节点

  图像[源]

  选择所有具有 src 属性的 img 元素

  img[src=""]

  选择所有 src 属性为值的元素

  ul ~ p

  选择与 ul 相邻的所有 p 个元素

  有了上面的 CSS 基础知识,我们进入实际应用吧。

  /实际应用/

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

  1.关于标题部分,我们之前使用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表达式,您可以获得文章标签。文章主题标签位于 a 标签下,如下图所示。

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

  7.对于点赞数,分析方法同上。找到唯一的标签“vote-post-up”来定位数据。

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

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

  /概括/

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

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

  - - - - - - - - - -结尾 - - - - - - - - - -

  教程:光年SEO日志分析工具下载

  

  光年SEO日志分析工具下载

  Lightyear Log Analysis Tool 是对总爬网量的细分。在 网站 中,必须有关键页面和非关键页面。这些数据可以让你看到哪些类型的页面被爬得更多,并及时做出一些调整。服务器日志分析对于关注SEO的同志来说是一件非常重要的事情。《网站的好数据分析》,首先要从分析服务器日志开始,这也是数据分析中不可缺少的一环。通过分析服务器日志,我们可以从服务器日志中清晰地看到搜索引擎爬虫。过程,让我们更清楚。光年SEO日志分析系统使用说明 1、新建分析任务第一步:任务向导

  

  复制链接

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线