几乎每个人都有需要从网上批量获取信息的需求,比如需要批量采集网站上的邮箱、批量采集1688、58同城上的商家信息、联系方式,如果让你去学编程语言?我看很多人连软件都不会装,更何况一门完整的编程语言,还要学会更正网页知识;学习火车头软件?一是贵,二是操作非常麻烦。% S& @/ L( t& T6 r1 O
今天就推荐一款Google研发的数据采集插件,这款插件可以自带cookies,自带反爬虫能力,非常容易上手,按照流程下来,基本上10分钟就能学会了。我平时也经常用它采集微博、知乎、豆瓣、58同城、大众点评、汽车之家等等网站的内容,非常方便。3 e3 p* [% i- \, ^' s5 e" z
Web scraper是google强大插件库中非常强大的一款数据采集插件,有强大的反爬虫能力,只需要在插件上简单地设置好,可以快速抓取知乎、简书、豆瓣、大众、58等大型、中型、小型的90%以上的网站,包括文字、图片、表格等内容,最后快速导出csv格式文件。Google官方对web scraper给出的说明是:
- f; f3 z0 ^" v9 M使用我们的扩展,您可以创建一个计划(sitemap),一个web站点应该如何遍历,以及应该提取什么。使用这些sitemaps,Web刮刀将相应地导航站点并提取所有数据。稍后可以将剪贴数据导出为CSV。
6 ~8 e& f8 z/ a7 u3 a! H% x) e本系列是关于web scraper的系类介绍,将会完整介绍流程介绍,用知乎、简书等网站为例介绍如何采集文字、表格、多元素抓取、不规律分页抓取、二级页抓取、动态网站抓取,以及一些反爬虫技术等全部内容。6 E' M! V# Y7 n9 K2 ]$ w
Ok,今天就介绍web scraper的安装以及完整的抓取流程。3 p- u; W& {/ U: K R
一、web scraper的安装. j' V9 @( A/ [3 U0 m
Web scraper是google浏览器的拓展插件,只需要在google浏览器上安装就可以了,介绍2种安装方法:
8 D d9 G+ [3 T8 \+ I1、打开google浏览器更多工具下的拓展程序——进入到chrome 网上应用点——搜索web scraper——然后点击安装就可以了,如下图所示。
9 t1 m& R- k* p" M$ `
0 r5 c$ ]; `! G , I0 F* s; f( M& @3 f1 G/ U
但是以上的安装方法需要**到国外的网站上,所以需要用到vpn,如果有vpn的就可以用这种方法,如果没有就可以用下面的第二种方法:4 X% T( y& w; e4 M+ U) f3 o
2、通过链接: 下载web scraper安装程序。然后直接将安装程序拖入到chrome中的拓展程序就可以完成安装了。0 Y8 s* |, ?7 ^& @, L
; y- v3 H) n$ U- y' g6 v2 l [
9 d% Y3 t+ b2 U2 H% l
完整完后就马上可以使用了。
6 E9 Z8 ]8 y1 y B* X7 n. D二、以知乎为例介绍web scraper完整抓取流程
5 Y4 `( a9 e4 W) S0 N: ~1、打开目标网站,这里以采集知乎第一大v张佳玮的关注对象为例,需要爬取的是关注对象的知乎名字、回答数量、发表文章数量、关注着数量。
( d' i; I7 y2 ^- g8 j7 G: d+ r. j9 O+ X7 A$ s# J0 p

6 s: }( T, A: f' @& D& ]' G2、在网页上右击鼠标,选择检查选项,或者用快捷键 Ctrl + Shift + I / F12 都打开 Web Scraper。
( f9 l6 o# |5 W; ^
8 x) |9 p0 E) Z8 y- k
8 [ I( g8 s3 I! i- A0 a5 K3 e3、打开后点击create sitemap选择create sitemap创建一个站点地图。. K: R/ p) z1 A6 W" ^5 o( G
8 E5 p' A# y7 B

' a. ~! Q' ^* t3 ]点击create sitemap后就得到如图页面,需要填写sitemap name,就是站点名字,这点可以随便写,自己看得懂就好;还需要填写start url,就是要抓取页面的链接。填写完就点击create sitemap,就完成创建站点地图了。8 D ^' k/ e( q2 I/ U9 t9 b
1 s( S3 |9 _8 L1 C

3 x; Z& Y' c' ?, l具体如下图:0 r0 J" a( B4 ~1 x4 Z
3 E; j& i/ [, y: ~' L( X. E+ f
$ j" V* d& n# O' T2 M4、设置一级选择器:选定采集范围
2 ]0 k# K2 e: D9 c8 n接下来就是重中之重了。这里先介绍一下web scraper的抓取逻辑:需要设置一个一级选择器(selector),设定需要抓取的范围;在一级选择器下建立一个二级选择器(selector),设置需要抓取的元素和内容。9 k0 V& w. @- T' }: ]% h
以抓取张佳玮关注对象为例,我们的范围就是张佳玮关注的对象,那就需要为这个范围创建一个选择器;而张佳玮关注的对象的粉丝数、文章数量等内容就是二级选择器的内容。 具体步骤如下:
& U# W4 B. K8 L! o# F/ N: |(1) Add new selector 创建一级选择器Selector:
9 N9 R& I- u$ N+ G. `
- }$ U/ }9 P) W! f9 B7 O: m & f% H. M4 |0 o% K5 {, y' }6 M/ r
点击后就可以得到下图页面,所需要抓取的内容就在这个页面设置。
( Y0 G7 L/ R8 Z: z. C( t2 U/ o @4 e; W
) ?% q3 w% ?+ \7 m
id:就是对这个选择器命名,同理,自己看得懂就好,这里就叫jiawei-scrap。' h. W/ J1 R* n/ F% K; U1 T7 \
Type:就是要抓取的内容的类型,比如元素element/文本text/链接link/图片image/动态加载内Element Scroll Down等,这里是多个元素就选择element。3 X" }1 `2 x# ^4 }" C, p+ T; U# ~
Selector:指的就是选择所要抓取的内容,点击select就可以在页面上选择内容,这个部分在下面具体介绍。/ }7 x- j$ D1 `1 o( H
勾选Multiple:勾选 Multiple 前面的小框,因为要选的是多个元素而不是单个元素,当勾选的时候,爬虫插件会识别页面下具有相同属性的内容;
8 Z% w+ Y6 V' z6 j( I3 W" J(2)这一步就需要设置选择的内容了,点击select选项下的select 得到下图:
7 c. E, z5 u0 n3 j7 V
+ @$ b: \. L& ] 0 {8 G3 p2 x/ O( x. P( r
之后将鼠标移动到需要选择的内容上,这时候需要的内容就会变成绿色就表示选定了,这里需要提示一下,如果是所需要的内容是多元素的,就需要将元素都选择,例如下图所示,绿色就表示选择的内容在绿色范围内。
! K' ^% ?& \( V, F
t' Q( I ]' N7 T. D3 p
1 e- ^7 _3 y! `7 T% d7 x+ V选择内容范围后,点击鼠标,选定的内容范围就会变成如下图的红色:4 |4 G, g1 H0 x3 l/ C( G
+ ^/ g, z {. ]5 o

) g, M6 L8 ^5 l# B% W* V' Z6 n当一个内容变红后,我们就可以选择接下来的第二个内容,点击后,web scraper就会自动识别你所要的内容,具有相同元素的内容就都会变成红色的。如下图所示:8 f( H3 N& }7 V- _
8 J# Y& B9 i [5 I& l# Q q
0 E0 t$ z; e' n3 H* I9 l
检查这个页面我们需要的内容全部变成红色之后,就可以点击 Done selecting选项了,就可以得到如下图所示:1 L3 D. n8 ]2 O* A
0 y9 w5 ]$ Z( s! h3 V+ ]

3 P/ D& r4 O0 Q/ z/ J1 i点击save selector,保存设置。到这里后,一级选择器就创建完成了。
4 v* X2 _1 b$ d3 {; n- D; g9 J+ Y9 j9 P. e$ T t) Q! c
& u" [) |3 v& q0 l+ q) F m: ]
5、设置二级选择器:选择需要采集的元素内容。2 o" N5 ]2 }' x0 G4 b6 Q2 \, G
(1)点击下图中红框内容,就进入一级选择器jiawei-scrap下:8 Y0 v) l7 v( h! D
( n ~ X0 c! m) Q
0 E5 r+ Z' S: V6 _
(2)点击add new selector创建二级选择器,来选择具体内容。4 M& d" _2 S" I8 F
2 R1 S# |# j: _' `* g / u" a* H( `# l
得到下图,这跟一级选择器的内容是相同的,但是设置是有区别的。& s% E% c. u$ u8 c: W( H
2 s7 B9 x2 T, r& U/ W/ {
; Y# W% k0 X, t: ~: Nid:代表抓取的是哪个字段,可以取该字段的英文,比如要选「作者」,就写「writer」;/ u( v; Q1 b! e3 F2 Q
Type:这里选Text选项,因为要抓取的是文本内容;
, F; @! q3 B; s3 e4 pMultiple:不要勾选 Multiple 前面的小框,因为在这里要抓取的是单个元素;6 W9 ]/ P, A+ o: m/ \
保留设置:其余未提及部分保留默认设置。* L% W4 E) f% W7 I* j
(3)点击select选项后,将鼠标移到具体的元素上,元素就会变成黄色,如下图所示:7 T! k& F7 w- f" ~
0 Q! d/ }& H g5 m
) [0 ^* q; E' I0 k% M* `' u: W
在具体元素上点击后,元素就会变成红色的,就代表选定该内容了。
4 y( d5 c/ L9 m
5 Y4 y7 h1 ~: Q* n5 | 5 V# _! I2 x- m7 l
(4)点击Done selecting后完成选择,再点击save selector后就可以完成关注对象知乎名字的选取了。& V$ O0 m( h' N" _7 m5 A
$ e s4 X' P8 r% D! a " y6 {: g- |8 Z$ ?3 k& Y/ J
重复以上操作,直到选完你想爬的字段。9 U3 T3 I. n; z
2 c& l+ D, X7 g. y
: ^' \. y0 N3 `, [
(5)点击红框部分可以看到采集的内容。5 Y* h" o) z* a& ^) v
' h1 d# m. h1 g0 Z8 e: w) \+ F
' e: G1 W. n5 d- B3 G
Data preview可以看到采集内容,edit可以对设置的内容做修改。3 r; i# {6 F$ w# h- |
( ]: h9 ^) m: `
- y/ W9 e* B5 U+ c: E3 ~
6、爬取数据5 l p, P7 U5 A5 I6 N
(1)只需要设置完所有的 Selector,就可以开始爬数据了,点击 Scrape map,8 G5 W. Z) ^2 U# F: K
选泽scrape;:* {; V6 l( @6 D2 R, w
W. U" P' g. Q) H

1 p4 z1 f& ^5 _(2)点击后就会跳到时间设置页面,如下图,由于采集的数量不大,保存默认就可以,点击 start scraping,就会跳出一个窗口,就开始正式采集了。6 c! ~9 i2 A" ? V7 p2 l
/ P4 h7 W P7 m' K

+ f9 `: Q' l9 Z* _) l: P- K! V(3)稍等一会就可以得到采集效果,如下图:
" N. ~4 O, t! r O
. n( c k- g5 e; J- i: w ' z6 x# p+ T0 {
(4)选择sitemap下的export data as csv选项就可以将采集的结果以表格的形式导出。2 M" [$ c5 j" c9 q" i( C* v! v8 u
- J0 d1 C v& k4 C

% N% {% q! W& y$ K- {" T表格效果:9 G1 G- h6 U& x- @% v
+ y9 E6 A& j9 | c; C5 K" u, ?

; `3 A* v0 z s9 F8 `9 w( }以上就是以知乎为例介绍基本的采集步骤和设置,看着虽然细节繁多,但是仔细算下来真没多少步骤,基本上10分钟就能够完全掌握采集的流程;无论是什么类型的网站,设置的基本流程都是大致一样的,有兴趣可以认真深入研究。' s8 ^- j2 X# |8 L
作者:白面书生 微信:zds369466004
* \# N* @( ?7 R2 M; u% q& ^来源:卢松松博客,欢迎分享,(QQ/微信:13340454)
9 O/ m0 M3 I0 N% m% m1 J! X+ ]) ~: a2 ?* o4 r
|