写在前面:好久不用爬数据了,最近要爬却忘了方法,翻了好久才翻到以前的笔记,忽然觉得资料保存本地真不是个好方法,所以就上传啦
课程考古:17年【3节课】人人都能学会的数据爬虫课——陈大欣
学习笔记:
案例一、B站弹幕信息的获取分析
(1)谷歌浏览器打开B站视频
(2)右键-检查/审查元素--network-输入xml-刷新网页-点击8955890.xml-open in new tab-复制新打开网页的网址
(3)打开Excel-数据-自网站-粘贴网址-转到-单击黄色箭头-当黄色变成绿色√-点击导入-确定-确定
(4)选中G列-数据-分列-√分隔符号-下一步-√逗号-下一步-完成
(5)数据分析如下表:

案例二、12306信息获取
(1)打开Excel-数据-自网站-粘贴网址(http://www.12306.cn/mormhweb/tlkytst/)-转到-单击表格前外侧的黄色箭头-当黄色变成绿色√-点击导入-确定-确定。
(2)当需要更新数据时不需要重新获取,直接在Excel表格里面刷新就行。
正文:Web Scraper操作
一、安装爬虫
安装Chrome第三方插件的方式安装web Scraper插件。
二、简易步骤
(1)右键-审查元素-Web Scraper-Create new sitemap-Create sitemap(Sitemap name第一个必须是小写字母,只能有字母数字和部分符号,会有说明)
(2)Start URL填写要爬虫的网址
(3)点击Create Sitemap
(4)点击Add new selector
(5)填写ID,选择Type,勾选Multiple(不勾选就只会拿到你选中的那一个数据)
(6)点击Select,选择要爬的内容,点击Done selecting,点击Save selector
(7)点击Data preview可以看所获取的内容
(8)点击Sitemap-scrape,Request interval和Page load delay都可以选择时间长一点,相加有6000,一般就不会被反爬虫了,点击Start scraping,开始爬虫
(9)不用管它,结束后会自动出现爬虫结果,点击Sitemap-Export data as CSV,点击Download now即可导出结果到Excle表格。
三、规律多页规则
(1)点击Sitemap-Edit metadata
(2)修改Start URL的网页链接,可以多点几页找出修改规律,一般是[1-10]或是[0-50:25]这类表现格式
四、一页内提取多字段(元素集)
(1)点击Sitemap-Selectors
(2)点击你之前新建的选择器,在下一级路径下,按照之前的方法新建采集用户名和个人描述的选择器,即:点击Add new selector。(注意,如果是元素集,那么你上一个建立的type就不是text,而是element,这样才能进行上述操作。)
(3)在点击Add new selector之后,即可进入编辑页面,命名,选择type,点击select,记住此时不用选择Multiple。然后确认一下,Parent Selectors选择的是否是你之前创建的选择器名称。
(4)点击Save selector,之后的爬虫过程与基础版类似
五、快捷键选中某个元素
(1)选择器点击select时,选择enable key开启键盘操作
(2)鼠标悬停,待采集字段变绿后按键盘S=选中;P=父类;C=子类
六、不规律分页问题
(1)滚动下拉页面
-Type选择 Element scroll down;可以自动实现滚动下拉加载更多数据,直到加载完成
(2)需要点击“加载更多”的页面
-Type选择Element click
-Click type选择Click more(相同元素需要点击很多次-底边栏加载更多);选择Click once(相同元素仅点击一次-点击显示全部)
-Click element uniqueness选择Unique Text存在文本变化;选择Unique Html+Text存在文本及网址变化;选择Unique Html存在网址变化;选择unique CSS Seiector只有页面颜色之类的变化
-Selector选择一个父类框,因为element click是不能选中内容的,他只是框定了一个范围,告诉子选择器这些内容可以被你选择,具体内容的抓取要在子选择器里面完成
-Click selector就是选择“加载更多”按钮
-Delay设置成2000上下,为0的话来不及加载更多,爬虫就爬过去了
-点击Save selector
-回到Sitemap-Selectors建立子选择器,操作与元素集相同
七、采集二级/三级页面
(1)新建选择器,Type类型选Element
(2)二级采集页面,Type类型选择Link
(3)如果还有三级,可以在三级页面点开Web Scraper,在之前Link的基础上再建立一个Link
(4)OK,可以开始爬虫了
注意:如果连接可以在新窗口打开就选择Link;如果无法在新窗口打开就选择Element Click
八、图片表单的采集
Type类型选择Image,不要勾选Download image不然会爬的非常慢
记得选择表头位置和表格内容,表头不一定非要选表头,有些不方便的可以直接选中第一行,然后表头最后在Excel上自己添加就行
九、反爬虫的常见手段和应对方法
(1)文件头user-agent检查
(2)动态加载(AJAX Javasript等)
(3)用户行为(cookies+请求时间间隔)
(4)人机交互验证
应对方法:Web scraper能够解决大部分的爬虫检测,还可以通过:请求间隔和延迟的时间长一点或是键鼠操对应对。
当然还有相对奇葩的反爬虫方式,比如美团的雪碧图还有去哪儿网机票价格的元素位移法,手机端用的是字体替换,再比如将结果解析为图片
十、Web scraper的常见疑问、局限点和突破方法
(1)速度较慢,无法收到过程数据(可以随时查看或者设置分页来使用)
(2)缺失了部分采集数据(自建网站集)
(3)模态窗口的下拉滚动(用鼠标)
(4)抓取结果是无序列排列的(获取当前分页的页面id或使用couchDB)
(5)Flash(下载swf分析)
网友评论