抓取网页数据 php(WebScraper的一个扩展插件,安装后你可以直接在F12调试工具里使用)

优采云 发布时间: 2021-12-04 10:28

  抓取网页数据 php(WebScraper的一个扩展插件,安装后你可以直接在F12调试工具里使用)

  我是小z

  我经常遇到一些简单的需求,需要在某个网站上爬取一些数据,但是这些页面的结构非常简单,数据量也比较少。可以通过编写自己的代码来实现,但这不是一个好主意。大锤?

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

  # 1. 安装网络爬虫

  有条件的可以直接到店里搜索Web Scraper安装

  

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

  

  安装完成后,需要重启Chrome一次,然后F12就可以看到该工具了

  

  # 2. 基本概念和操作

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

  站点地图

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

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

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

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

  

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

  

  选择器

  直译,它是一个选择器。为了从一个充满数据的 HTML 页面中检索数据,需要一个选择器来定位我们数据的特定位置。

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

  Web Scraper 提供的Selector 有很多,但是本文文章 只介绍了几个最常用、覆盖面最广的Selector。了解一两个之后,其他的原理都差不多,后面我会私下详细了解。可以上手了。

  

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

  选择器可以嵌套,子选择器的 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. 写在最后

  以上对分页和二级页面的抓取方案进行了梳理,主要有:pager抓取和二级页面抓取。

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线