chrome抓取网页插件(Python从入门到进阶共10本电子书今日鸡汤八骏日行三万里)

优采云 发布时间: 2022-01-18 08:00

  chrome抓取网页插件(Python从入门到进阶共10本电子书今日鸡汤八骏日行三万里)

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

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

  这

  日

  小鸡

  汤

  八马日行三万里,穆王无事归。

  经常遇到一些简单的需求,需要在某个网站上爬取一些数据,但是这些页面的结构很简单,数据量也比较少。自己写代码是可以的,但是没用。牛刀?

  目前市面上有一些成熟的零码爬虫工具,比如优采云,有现成的模板可以使用,一些爬取规则也可以自己定义。但是我今天要介绍的是另一个神器——Web Scraper,它是Chrome浏览器的扩展。安装后,可以直接在F12调试工具中使用。

  # 1. 安装网络爬虫

  有条件的同学,可以直接在商店搜索Web Scraper进行安装

  

  没有条件的同学可以来这个网站()下载crx文件,然后离线安装。具体方法可以借助搜索引擎解决。

  

  安装后需要重启一次Chrome,然后F12才能看到工具

  

  # 2. 基本概念和操作

  在使用 Web Scraper 之前,需要先解释一下它的一些基本概念:

  网站地图

  直译为网站map,有了这个地图爬虫就可以跟着它获取我们需要的数据。

  所以sitemap其实可以理解为网站的爬虫程序。要爬取多个 网站 数据,需要定义多个站点地图。

  站点地图支持导出和导入,这意味着您编写的站点地图可以与他人共享。

  从下图可以看出,sitemap代码是一串JSON配置

  

  只要拿到这个配置,就可以导入别人的站点地图

  

  选择器

  直译过来就是一个选择器。要从一个充满数据的 HTML 页面中提取数据,需要一个选择器来定位我们数据的具体位置。

  每个 Selector 可以获取一条数据。要获取多条数据,需要定位多个 Selector。

  Web Scraper 提供的 Selector 有很多,但本文文章 只介绍几个使用最频繁、覆盖面最广的 Selector。了解一二之后,其他的原理都差不多。可以上手了。

  

  Web Scraper 使用 CSS 选择器来定位元素。如果你不知道,没关系。在大多数场景下,您可以直接通过鼠标点击选择元素,Web Scraper 会自动解析相应的 CSS。小路。

  Selector 可以嵌套,子 Selector 的 CSS 选择器作用域就是父 Selector。

  正是有了这种无穷无尽的嵌套关系,我们才能递归地爬取网站的全部数据。

  下面是我们后面经常放的选择器拓扑,可以用来直观的展示Web Scraper的爬取逻辑

  

  数据抓取和导出

  定义站点地图规则后,单击“抓取”开始抓取数据。

  爬取数据后,不会立即显示在页面上,需要再次手动点击刷新按钮才能看到数据。

  最终数据也可以导出为 csv 或 xlsx 文件。

  

  # 3. 寻呼机爬取

  爬取数据最经典的模型是列表、分页和明细。接下来我就围绕这个方向爬取CSDN博客文章来介绍几个Selector的用法。

  寻呼机可以分为两种类型:

  在早期版本的 web-scraper 中,两种爬取方式是不同的。

  对于一些 网站 来说确实足够了,但有很大的局限性。

  经过我的实验,使用Link选择器的第一个原理是在下一页取出a标签的超链接,然后访问它,但并不是所有网站的下一页都是通过a标签实现的.

  如果用js*敏*感*词*事件然后像下面这样跳转,就不能使用Link选择器了。

  

  在新版本的网络爬虫中,它提供了对导航分页器的特殊支持,并增加了一个分页选择器,可以完全适用于两种场景,下面我将进行演示。

  寻呼机爬行而不重新加载页面

  点击具体的CSDN博文,拉到底部,就可以看到评论区了。

  如果你的文章比较热门,有很多同学评论,CSDN会分页显示,但是不管在哪个页面评论都属于同一篇文章文章,你浏览的时候当你在任何页面的评论区时,博文不需要刷新,因为这个分页不会重新加载页面。

  

  对于这种不需要重新加载页面的点击,可以使用Element Click来解决。

  

  最后一点必须注意,要选择root和next_page,只有这样才能递归爬取

  

  最终爬取效果如下

  

  使用Element Click的sitemap配置如下,可以直接导入我的配置进行研究,下载配置文件:

  

  当然,对于分页之类的东西,网页爬虫提供了更专业的分页选择器,配置更精简,效果最好。

  

  对应sitemap的配置如下,可以直接导入使用,下载配置文件:

  

  寻呼机爬行以重新加载页面

  CSDN的博客文章列表,拉到底部,点击具体页面按钮,否则最右边的下一页会重新加载当前页面。

  

  对于这种分页器,Element Click 无能为力,读者可以自行验证,最多只能爬一页后关闭。

  而且作为一个为分页而生的Pagination选择器,自然适用

  

  爬取的拓扑同上,这里不再赘述。

  

  对应sitemap的配置如下,可以直接导入学习,下载配置文件:

  

  # 4. 次要页面的爬取

  CSDN的博客列表列表页,显示的信息比较粗略,只有标题,发表时间,阅读量,评论数,是否是原创。

  如果你想获得更多的信息,比如博文的文字、点赞数、采集数、评论区的内容,你必须点击具体的博文链接才能查看。

  

  网络爬虫的操作逻辑与人类相同。如果你想抓取更详细的博文信息,你必须打开一个新的页面来获取它,而网络爬虫的链接选择器恰好做到了这一点。

  

  爬取路径拓扑如下

  

  爬取的效果如下

  

  sitemap的配置如下,可以直接导入使用,下载配置文件:

  

  # 5. 最后

  以上整理了分页和二级页面的爬取方案,主要有:分页器爬取和二级页面爬取。

  只要学会了这两个,就已经可以处理绝大多数结构化的网络数据了。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线