5分钟上手,1个小时包会的零基础爬虫技术

2019.10.13 -

- -

5分钟上手,1个小时包会的零基础爬虫技术;
无需编程,无需翻墙,不敲代码,只要一个Chrome(谷歌浏览器),适用于95%的网站抓取,轻松学会后受益终身;
最近在3.3计划的校友群里安利了十几人零基础爬虫技术,分享下录制的教学视频内容:
一、抓取工具简介
把数据抓取技术和软件分成了三个象限:
1)适应情况,能否抓取大部分网页内容;高票Excel的抓取功能简直是黑科技,但对于DIV形式网页,或者通过“滚屏下拉”动态加载更多数据的网页来说就比较棘手了;
2)生存能力,不被反爬虫技术甄别;矛与盾是永恒的话题,最近采集IT桔子时,被反爬虫机制识别后直接封IP到临时黑名单,连浏览器也无法打开主站了;
3)学习成本,大部分小伙伴一个月用不到一次数据抓取技术,投入较多时间成本不划算;
那么,Web Scraper的适用范围有哪些?
翻译一些该工具官网 (Web Scraper) 上的自卖自夸介绍供参考:
1)通过不同的选择器类型,可以链接到分页页面并抓取“文本型,表格型,图片,链接”等多种数据类型
2)不像其他的数据抓取工具只从html元素中抓取(有一种傲娇的感觉),Web Scraper可以支持动态加载数据类型,包含:
  • 等待页面中的动态数据加载完全
  • 自动点击分页按钮(第1页,第2页…)抓取更多数据
  • 自动点击“加载更多按钮”来抓取更多数据
  • 自动滚动下拉页面加载更多数据
3)“老师能不能再具体一点?” 来看三个样例吧:
知乎粉丝列表:
https://www.zhihu.com/people/chen-da-xin-84/followers?page=1
麦淘:
http://m.maitao.com/classify/null?ids=1
IT桔子:
https://www.itjuzi.com/search?key=%E4%BA%B2%E5%AD%90
二、工具准备(预计10分钟)
下面我们正式进入主题,首先需要两个工具:
  1. 谷歌chrome浏览器
链接:谷歌浏览器下载-百度软件中心
  1. Web Scraper插件
打开链接(可能要刷新几次),点击 Download extension可以下载一个crx文件
或网盘链接 https://www.jianguoyun.com/p/DT2XOgwQ1pfkBhjp0Ec (访问密码:uMfDv3)
下载后需要手动安装插件:【怎么安装Chrome插件】安装Chrome第三方插件_百度经验
三、上手体验(预计5分钟)
评论区有小伙伴反应无法点击F12召唤Web Scraper,可能是笔记本或Mac电脑的原因
  • Windows, Linux: Ctrl+Shift+I (love的I) or F12
  • Mac: Cmd+Opt+I
  • 如果为左右分屏模式,需要点击右上角的三个小点,切换为上下分屏模式
神秘代码:
{"_id":"test","startUrl":"https://www.zhihu.com/people/chen-da-xin-84/followers?page=2","selectors":[{"parentSelectors":["_root"],"type":"SelectorText","multiple":true,"id":"Username","selector":"div.UserItem-title a.UserLink-link","regex":"","delay":"500"}]}
开抓:
  1. 点击Scrape
  2. 设置抓取规则(默认即可),点击Start Scraping ;
啊哈,在弹窗显示知乎粉丝页面后,抓取结果就直接出来了,如图:
3. 快乐地导出数据吧,点击export data as CSV,即导出为CSV格式
四、制作自己的第一只虫(预计10分钟)
  1. 在chrome中打开需要抓取的目标网址,按F12在Web Scraper中重新创建一个站点 Create sitemap; 输入站点名(自定义)和网址(输入目标网址)后,点击Create sitemap的确认按钮;
  2. 在新建选择器中,点击 Add new selector 新建选择器;
  3. Delay 写500ms,预留一定的页面加载时间;
  4. 选择器的配置:
  • Type选择Text文本形
  • 勾选Multiple按钮,表示本页中需要抓取多个元素
  • 点击 Selector 的 select按钮,直接点击网页上的元素即可!!!
绿色代表可采集的数据,点击后变成红色为锁定状态(具体可参见教程第16分钟)
点击第二个采集数据,程序自动判定所有同类型元素并红色锁定后,点击“Done selecting”
5.点击 SaveSelector 并按照第三步中的抓取步骤进行后续采集操作(scrape → start scraping)
五、进阶技巧1-页面采集多元素
聪明的同学已经尝试在一个页面里采集多个数据了,但往往发现是乱序,如图:
这就涉及到一个元素集(Element)的概念,首先我们把第一步骤提到的选择器删掉,新建一个type为Element的选择器,并选中多个列表项数据,并勾选复选按钮,如图:
保存后,点击新建的选择器,进入该选择器的下一级路径,采集用户名和个人描述
点击Select后,爬虫插件自动高亮了上一级-元素集的第一个元素,只需要点选中其中的元素即可(注意这次不需要选multiple了)
添加好采集器后,点击Selector graph查看树形结构(点击图片可查看清晰大图)
开抓,并获得理想的结果!
五、进阶技巧2-自动翻页/点击加载更多
和上一步介绍的元素集概念相似,对于下拉动态加载更多数据,以及需要点击才能加载更多的情况,介绍两个新type-滚动下拉元素集(Element scroll down) 和 点击元素集(element click),来看第一部分提到的其他两个案例吧:
1)麦淘(滚动下拉):
2)IT桔子(需要点击”加载更多“):
六、高阶技巧-采集子链接内页面
1)对于子链接的采集,通过type为点击元素集(Element Click)和链接(Link)类型,
所有用LInk类型的情况都可以用Element Click的方式抓取;
但Link类型可以抓取网址链接;两者的使用范围区分可见下图:
案例1网址:巨潮资讯网 教程:如何批量下载 A 股招股说明书?
案例2还是之前的麦淘网址:http://m.maitao.com/classify/null?ids=1
2)然后在Link或Element Click的下一级路径中(子链接)中建立选择器;
看实例:
案例1为了抓取每个子链接中右上角的下载地址,建立以下树形结构选择器:
第一个LInk类型的Detail为抓取子页面链接(此处可替换为Element Click);
第二个Link类型的没有下一级路径,只为抓取右上角的下载链接;

- END -

- -

75
0

专注且深耕,结果都不会太差

5分钟上手,1个小时包会的零基础爬虫技术; 无需编程,无需翻墙,不敲代码,只要一个Chrome(谷歌浏览器),适用于95%的网站抓取,轻松学会后受益终身; 最近在3.3计划的校友群里安利了十几人零基础爬虫技术,分享下录制的教学视频内容: 一 […]