chrome插件网页抓取(WebScraper插件的使用步骤及使用方法【爬虫1】)
优采云 发布时间: 2021-10-20 05:08chrome插件网页抓取(WebScraper插件的使用步骤及使用方法【爬虫1】)
1.前言
今年上半年,我发了两篇关于MATLAB爬虫的文章:
近日,有朋友留言说想要杭州最新的房价数据。我以为这段代码是以前写的。稍微修改和适应网页后,应该还是可以的,所以我同意了。爬完杭州,这位朋友说他还想去武汉,好吧,我再改密码……
但是由于网页数据不一致,之前的代码总是遇到一些问题,被打断了(之前的代码主要用于临时学习,很多异常的处理没有考虑)。
而且没有专业的防爬功能,爬行时间过长容易被限制……
调试代码真的很费时间和精力,所以只能慢慢调试了……
用了大概一晚上,终于调整好了。
(需要数据和代码,后台回复“爬虫1”即可)
之前做MATLAB爬虫的时候,主要是为了练习写代码。用MATLAB做专业爬虫可能不太合适。调试代码匹配网页需要时间,爬取一些动态网页可能不如python方便。因此,建议使用专业工具来快速方便地抓取重要数据。
听说Chrome上有个爬虫插件,不用写代码就可以爬取数据。
所以我也想借此机会学习一下,以后爬数据可能会更方便;顺便把这个插件的一些使用步骤也记录下来,分享给有需要的朋友,以后可以自己爬取数据了。
1 爬虫插件
我在网上搜索了一下,找到了一些关于chrome爬虫插件的信息。好像Web Scraper推荐的比较多,直接用就好了。
如果没有FQ安装chrome插件有困难,可以在Edge浏览器上试试。
我用的是下面的插件(基本上所有chrome插件都可以装在edge上,在之前的GZH文章中也有介绍过)
https://chrome.google.com/webstore/detail/web-scraper-free-web-scra/jnhgnonknehpejjnehehllkliplmbmhn
https://webscraper.io/
网络爬虫插件
2网络爬虫的使用
网上已经有很多关于网页爬虫的使用介绍,插件的官网也有一些介绍。有兴趣的可以自行搜索。
关键点是站点地图和选择器。
我是第一次使用,所以把我用过的操作步骤记录在这里,以防忘记。以攀爬链甲的价格为例。
具体步骤:
[1] 下载并安装插件。这个上面已经讲过了,这里就不赘述了。
[2] 打开网络爬虫。
首先打开一个要抓取数据的网页,比如链家,然后使用快捷键Ctrl+Shift+I或者F12打开Web Scraper插件。
[3] 创建一个新的站点地图。
点击创建新站点地图,有两个选项;导入站点地图是输入现成站点地图的指南;选择首次使用创建站点地图。
然后填写以下信息:
站点地图名称:这只是一个名称,可以根据网页来命名,但需要使用英文字母(不能是大写字母);
Sitemap URL:这是要爬取的网页的链接地址。如果要抓取一个普通的翻页网页,可以先查看不同页码的规则,然后在最后加上[1-100],表示要抓取1-100个页面。
https://hz.lianjia.com/ershoufang/xihu/pg[1-100]/
例如像这样:
[4] 设置站点地图
整个Web Scraper的爬取逻辑如下:
设置一级Selector,选择捕获范围;在一级Selector下设置二级Selector,选择捕获字段,然后捕获。
4.1 创建一级Selector:点击Add new selector;
id:应该只是一个代码,表示要爬取的内容(会在爬取的csv数据中显示);
type:就是你要抓取的数据的类型,比如元素/文本/链接等;因为我们需要选择整个网页的元素范围内的多个数据,所以需要先使用Element进行全选(如果这个网页需要滑动加载更多,需要选择Element Scroll Down);
Multiple:勾选Multiple,因为我们要选择多个元素而不是单个元素;
选择器:点击选择,然后用鼠标在网页上选择我们需要爬取的数据范围(绿色是要选择的区域,鼠标点击后变成红色,表面选中这个区域,选择后点击“完成选择”);注意需要多选几个,不然爬取数据只有一个难点;
然后保存选择器。
4.2 设置二级选择器:
id:代表你抓取的内容,主要是为了区分不同的内容(会在抓取到的csv数据中显示);写xq_name、xq_address等;
类型:选择Text表示要捕获的文本为文本;
Multiple:不要勾选 Multiple,因为我们这里要抓取的是单个元素;
选择:点击选择,然后点击要抓取的内容(字段);例如,点击小区名称、房屋信息、单价、总价等(当字段区域变为红色时,即被选中,点击“完成选择”完成选择)
最好保存,点击保存选择器。
创建二级选择器后,可以创建多个二级选择器。
然后可以预览选择的信息是否正确。
[5] 开始爬取数据
只需点击抓取
设置响应时间等(第一次必须大于2000ms)
点击开始自动开始爬取数据(时间会比我的matlab爬虫慢)
[6] 数据导出
选择将数据导出为 CSV
[7] 保存站点地图并查看爬取数据
保存站点地图的副本,可以将其复制到导入站点地图并导入以供使用。
{"_id":"hz_xihu_ershoufang","startUrl":["https://hz.lianjia.com/ershoufang/xihu/pg[1-100]/"],"selectors":[{"id":"hz_xq","type":"SelectorElement","parentSelectors":["_root"],"selector":"div.info.clear","multiple":true,"delay":0},{"id":"xq_name","type":"SelectorText","parentSelectors":["hz_xq"],"selector":"div.positionInfo","multiple":false,"regex":"","delay":0},{"id":"xq_xinxi","type":"SelectorText","parentSelectors":["hz_xq"],"selector":"div.houseInfo","multiple":false,"regex":"","delay":0},{"id":"xq_peice_zong","type":"SelectorText","parentSelectors":["hz_xq"],"selector":"div.totalPrice","multiple":false,"regex":"","delay":0},{"id":"xq_price_dan","type":"SelectorText","parentSelectors":["hz_xq"],"selector":".unitPrice span","multiple":false,"regex":"","delay":0},{"id":"xq_title","type":"SelectorText","parentSelectors":["hz_xq"],"selector":".title a","multiple":false,"regex":"","delay":0},{"id":"xq_guanzhu","type":"SelectorText","parentSelectors":["hz_xq"],"selector":"div.followInfo","multiple":false,"regex":"","delay":0}]}
3 总结
Web Srcaper目前只能一区一区爬取(以后有时间找相关资料),但是爬取的信息比较丰富,创建爬虫的速度和便利性应该比自己写代码快,而且有是没有软件。基础也能很快掌握~
今天的分享暂时就到这里。我只是爬虫的初学者。有兴趣的可以自己多试试~
一些参考文章(Web Srcaper):