chrome插件网页抓取(WebScraper插件的使用步骤及使用方法【爬虫1】)

优采云 发布时间: 2021-10-20 05:08

  chrome插件网页抓取(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):

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线