不需要写一行代码的爬虫教程

这周需要从网站上爬一批数据做处理,身为懒癌患者的我心里就想:妹的,还得写python代码,每爬一个就得研究正则表达式一次,有没有什么神器帮助我节约点时间,快速把问题搞定。上网搜了一下,还真有,有个网页插件叫做webscraper,研究了一发,这玩意贼神,记录下来,做个入门教程。

安装

需要:Chrome浏览器

需要:webscraper插件,在chrome商店搜索下。

基础使用

拿个入门案例,讲下基础使用,我去爬下知乎大V:寺主人所有写过的文章标题。下面的图,看我红色框框。

1.右键选中检查

2.找到Web Scraper

3.创建sitemap

4.添加选择器

重点看第三步,多点两到三个标题,这个抓取控件会帮你比对你选择的区域特征,然后会自动标记所有相同的区域特性。

5.开始抓取

设置好请求和页面加载时间

YES,搞定

支持导成EXCEL

常用组件解析

webscraper这玩意的核心在选择器上,像我们上个案例使用的是text选择器就是普通的文本选择。

选择器的几个辅助选项

Element preview:查看选中元素

Data preview:预览抓取数据

Multiple:抓取多条记录

Delay:延时、确保数据加载成功,设置个2000ms就够了

选择器种类

我挑几个我用得多的选择器

Link选择器和Image选择器:从名字就能看出,一个抓URL连接,一个抓图片,没啥好说的。

重点讲下大杀器Element selector

这是个结构体选择器,啥作用呢?它能帮助你达到什么效果?

下图中你想同时抓这三个信息怎么办?用它就好了

首先选择Element选择器,选中如图整块区域,记得多点几次,方便对比特征,让工具自助标记所有特征区域。

你可以理解它是个父选择器,双击进去

开始创建子选择器,你会发现你只能在你的父选择器里面的区域选择元素,选择标题,同时就不要勾选multiple,因为在这个父选择器里面就只有一条标题呀。

同理,创建另外两个文本子选择器,取名argee和comments。

选择解析树,也能看出父子关系。

开始爬取,搞定

这里强调一个规则:Element抓取整体结构,单独使用无法得到具体数据。所以必须在父选择器之下,建立子选择器,在子选择器里面设置具体要抓取的数据类型如text等。

分页怎么搞?

第一种选择器解决微博类似这种滚动加载效果 。你把Element selector换成Element scroll down就完事了。

第二种选择器,解决下图这种分页情况

Element click selector登场,还是拿知乎那个做个例子。

选择完Element click selector后,选择click once 和Unique Text,至于为啥选Unique Text,我也不知道,我是试出来的,反正就4个选项,多试试,哪个好用,用哪个。

你开始抓取,你会注意到自动翻页的效果。看下图,全搞定了。

webscraper基本摸索就到这里吧,这些基础用法足够帮我快速抓数据了。看网上说,使用好Element selector能够解决爬取90%的网页反爬虫技巧就是设置好每个页面的request时间和delay时间,别设置成0导致狂抓,另外还有配套的数据库叫CouchDB(文档式数据库)进行入库分析!哈哈,如有大神级玩家,欢迎及时交流各种高级玩法。

END

Hi,我是大明

互联网技术小兵仔

在大厂和创业公司都折腾过

这里分享我在读书、投资、生活的学习和思考

如果大家喜欢我的文章

我会更加努力的

微信公众号:damingfun

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180721G1MH4300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券