『网络爬虫』一篇文章带你了解webscraper爬虫插件( 二 )
本文插图
如果要选择有相同规律的列表数据 , 比如在这里 , 我们想选择这一列所有文章的标题 , 我们只需要连续选择两个标题区域 , selector就能自动识别到我们要抓取的元素 , 把其他结构一致的元素区域选中 , 效果如下图所示:
本文插图
element preview:选择完过后 , 点击element preview可预览下所选择的元素 , 看是否选择正确 。
data preview:点击data preview , 可预览返回的文本数据 。
multiple:选择是否多选 , 在前面我们已经说过如何通过selector选择具有相同规律的元素 , 但是选择出来还不足够 , 我们还需要勾选multiple , 这样才能真正的抓取多行数据 。
Regex:正则表达式 , 从我们抓取的文本数据里面再进行正则匹配 。
Delay:选择器生效前的延迟时长 , 主要担心受网速影响 , 页面还没加载完就开始抓取 , 容易抓取空数据 。
parent selectors:为该选择器选择父选择器 , 构造树形结构 , 特别是在构造循环抓取结构的场景经常会用到parent selectors的配置 。
在这里 , 我们用selector抓取csdn.net首页文章列表的标题 , 配置内容如下 , 点击save selector即可保存该抓取器 。 如果想要抓取其他的数据 , 按照此种方式配置多个selector即可 。
本文插图
step 3(start scrapy):
设置好selector后 , 这时我们就可以开始抓取数据了 , 按下图方式选择scrape , 开始爬取之前 , 有两个参数需要设置:
Request interval(ms):默认值2000ms , 即每两次请求之间的间隔 。
Page load delay(ms):默认值500 , 等待页面的加载时长 。
本文插图
点击start scraping , 即可开始正式爬取数据 , 爬取完后 , 爬取的数据会显示在窗口 , 如果要将数据导出到csv , 选择Export data as CSV-->点击download now , 即可将刚才抓取的数据导出到CSV 。
本文插图
至此 , 整个完整的爬虫项目就构建完成了 , 是不是很简单!接下来 , 我们再看下爬虫常见的应用场景 , 用webscraper如何解决吧!
三:抓取多级数据
在构建了一个简单的csdn文章标题抓取项目后 , 有同学说 , 我想再抓取一个作者信息 , 于是尝试着构建一个author的selector , 构建完成后 , 爬取完过后 , 竟然发现title跟author对不上 , 如下图所示 , 什么情况 , 难道是selector设置的不对么 , 但是明明看到了author信息也被抓取下来了啊!
本文插图
这个问题也是初学者经常所遇到的第一个坑哈!webscraper的selector之间是互相独立的 , 也就是说 , 你分别构建的title selector和author selector分别独立的再进行工作 , 根本就没有存储他们之间一一对应的关系 , 所以到最后 , 看到混乱的数据结果也就再正常不过啦!
解决方法也很简单 , 就是应用selector的多级结构 , 第一级selector抓取整个元素 , 元素中包含title跟author信息 , 然后再构建这个元素的子selector , 子selector从元素里面再获取title和author 。
首先构建父级selector , 这里的type需选择Elements , 选择区需要选择包含title和author的整个选择区 。
- 管见参考过目不忘的读书法
- 澳门@打击贷款类电信网络诈骗犯罪,公安机关一网下去,抓了798人!
- 网络赌博:5大计划单列市首季,深圳厦门惊喜,青岛超过宁波,一项指标超高
- 央视开放网络售票,印度铁路拟分阶段恢复客运列车运营
- 定西公安姜春煌主持召开党委会专题研究打击治理电信网络新型违法犯罪工作
- 红网国网湖南电力扶贫记丨贫困村首次“触电” 网络直播1小时“带货”3600单
- 热点科技咨询感知“大咖”秀之一:创业超女“洞见”网络安全之路
- 南方PLUS更改合同不能“店大欺客”,叮咚快评|网络作家大战阅文集团
- 重庆之声生产线接入网络提升产量30%,重庆用友:机器换人·数据换脑
- hawk26讲武堂获得演习机会,疫情之下美军特种部队如何训练?通过网络整合资源