美文网首页
【How To】web scraper - 轻量数据爬取

【How To】web scraper - 轻量数据爬取

作者: 小橙子piupiupiu | 来源:发表于2022-06-01 12:44 被阅读0次

    对小白来说,如果有【需要爬取网站内同类页面固定位置的信息】的需求,比如说:

    - 各类排行榜信息(豆瓣/IMDB/……)

    - 新闻网站今日要闻

    - 批量收集XXXXX信息

    web scraper则会是最简单最适合小白的解决方案,通过总结网页结构的规律,可以达到事半功倍的效果。本篇文章是站在非常小白的角度来写的,如果需要更多专业词汇的文章,请参考官方doc。

    研究了一下工作原理,网站通常都是由列表页+详情页组成,web scraper就是告诉插件,我需要【网页list】(列表页)中的【ABCDEFG网页】(详情页)【信息1】、【信息2】、【信息3】……【信息N】,能够讲清楚跳转逻辑和抓取逻辑就行了

    拿【豆瓣阅读潜力榜】做了个测试,我想要【潜力榜】(列表页)中的【每一本书】(详情页)的【书名】、【作者】、【简介】、【字数】、【阅读数】、【加入书架数】、【标签】,就有了以下操作过程:


    Step0:下载并启动Web Scraper

    下载这个事情,通过chrome应用下载吧。

    如果没办法直接下载,找到【crxdl】这个插件库,搜索【web scraper】,找到这个蜘蛛网图标,再安装吧

    Web Scraper图标

    启动Web Scraper很简单,按F12,或者网页右击,检查,在导航栏的最邮编,有【web scraper】出现,则表示启动成功


    Step1:创建项目

    点击【Create new sitemap】,在web scraper中建立一个爬虫项目

    创建项目

    Sitemap name - 自己取名,小写字母开头,一般写这个项目是干嘛的

    URL - 填写需要爬取的Link,多个link可以后面的加号添加

    填写name及url,url可添加多个

    我这里用的是【豆瓣阅读潜力榜】的网站link,填进去就好,


    Step2:配置列表页抓取逻辑

    创建好【sitemap】后会自动跳入本项目的.root中,我们需要在这里加入排好的跳转逻辑,告诉网页找完这一页后需要跳转

    查看从【潜力榜】到每一本书页面的跳转逻辑,发现是点击【每个书的block】,网页会跳转到书籍详细页面,点击【Add New Selector】创建这个跳转逻辑

    添加selector

    填写ID,一般是这个内容具体是啥,我比较喜欢叫这一步为【jump_link】,先填进去

    这一步是需要点击每本书进去进一步收集信息的,所以type选link

    按照顺序1-6来操作

    然后我们来用自带的选择框,来确认【每本书的block】的规律,点击多个书名后,系统会用红框选中,然后在selecting框中显示我们选中内容的规律,点击done即可自动填写到【selector】中

    由于这一步是这一本书搜完还要搜集下一本书的内容,所以我们需要多个跳转的,要勾选【Multiple】,并且将【parent selector】选择到.root,即我们一开始的就会先进入到这个页面,做这个操作


    Step3:配置详情页抓取逻辑

    接下来,我们就需要看跳转网页后,我们需要的信息如何抓取了

    首先,我们需要【书名】,点击【Add new selector】,创建一个针对书名的抓取器

    ID老规矩,写清楚防止以后忘了,我这一步就叫【book_name】,

    这次我们抓取的是书名这个字段即可,type选择text

    由于书名在每一页上是唯一的,不太好利用多次点击同类再让插件帮我们找规律,我比较推荐用chrome选择小工具,帮我们找到对应的selector。点击当前页面的选择工具,点击点到书名上,在element元素这里已经标注处当前字段的情况,选中这一段,右击,复制,复制selector,把这个内容,粘贴回selector框中,

    chrome自带的元素选择工具

    因为这一步是从上一页中,通过点击对应数目的block跳转过来的,所以parent selector选择回刚才创建的【jump_link】

    点击【Save Selector】

    注意parent selectors的选择

    同样的,【作者】、【简介】、【字数】、【阅读数】、【加入书架数】、【标签】也是这样找到selector,并且与jump link联系起来,这样,一个简单的爬虫小工具就设置好了。


    Step4: 测试爬虫使用情况

    设置好细节后,我们可以来测试爬虫是否能用了,

    点击【sitemap 项目名】后,选择Scrape,填写完interval和delay后**,**浏览器会自动开始爬取并跳转

    开始爬取

    点击【refresh】后,可以看到当前已经拿到的信息

    实时查看爬取到的信息

    在所有信息爬取完后,点击【export data】就可以导出csx或者xlsx格式的数据了

    导出数据

    web scraper还有很多高阶功能,它的Selector的type处,也有更多的选择可以玩,想要了解更多,可以:

    - 查看doc,非常清晰 【搜索 doc web scraper】

    - 学习HTML元素,更系统地学习HTML架构

    - 学习正则表达式,更方便地批量选择信息

    相关文章

      网友评论

          本文标题:【How To】web scraper - 轻量数据爬取

          本文链接:https://www.haomeiwen.com/subject/ffjxmrtx.html