学会信息和数据快速采集都是非常必要的,因为这能大大提高工作效率。在学会python和火车头之前,web scraper是我最常用的采集工具了,设置简单,非常高效,采集咪蒙文章标题仅需2分钟,采集58同城5000条租房信息也就5分钟而已。8 t. q c& U. a7 P2 F* J9 c% H
Web scraper是google强大插件库中非常强大的一款数据采集插件,有强大的反爬虫能力,只需要在插件上简单地设置好,可以快速抓取知乎、简书、豆瓣、大众、58等大型、中型、小型的90%以上的网站,包括文字、图片、表格等内容,最后快速导出csv格式文件。Google官方对web. v: J/ F% `$ x3 q* G% I5 ^5 _
scraper给出的说明是:
2 m" I: P e- g1 b/ x9 `使用我们的扩展,您可以创建一个计划(sitemap),一个web站点应该如何遍历,以及应该提取什么。使用这些sitemaps,Web刮刀将相应地导航站点并提取所有数据。稍后可以将剪贴数据导出为CSV。
; _ @0 D/ l; b3 QWebscraperk课程将会完整介绍流程介绍,用知乎、简书等网站为例介绍如何采集文字、表格、多元素抓取、不规律分页抓取、二级页抓取、动态网站抓取,以及一些反爬虫技术等全部内容。- G% }9 e; Y4 ?1 }1 g/ q Y J
一、web scraper的安装$ n7 ]$ a; y7 F
Web scraper是google浏览器的拓展插件,它的安装和其他插件的安装是一样的。' z1 {1 Z u- r0 g2 m( f2 W U
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
如果无法下载webscraper可以通过微信zds369466004和我联系。3 S2 k; c" m% z- z$ f: |
! q1 T+ k- A1 R- f$ i5 ~% n4 a4 r3 V5 c- `; j
二、以知乎为例介绍web scraper完整抓取流程/ H% U) w4 X" r. T. R6 Z
1、打开目标网站,这里以采集知乎第一大v张佳玮的关注对象为例,需要爬取的是关注对象的知乎名字、回答数量、发表文章数量、关注着数量。% A0 e! F( r6 Y& H5 w
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
2、在网页上右击鼠标,选择检查选项,或者用快捷键Ctrl + Shift + I / F12 都打开 Web Scraper。
* G; e9 `7 {$ r h0 o: f
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
3、打开后点击create sitemap选择create sitemap创建一个站点地图。* i6 L+ H8 {. V: o$ T
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
点击create sitemap后就得到如图页面,需要填写sitemap name,就是站点名字,这点可以随便写,自己看得懂就好;还需要填写start
+ D u3 ? E) j2 a7 W7 Burl,就是要抓取页面的链接。填写完就点击create sitemap,就完成创建站点地图了。
& i/ j; y8 C2 @7 D* O
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
具体如下图:
9 {. h+ g8 i! y) a6 D" b
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
4、设置一级选择器:选定采集范围* h6 ?' R& Y5 d7 c2 G
接下来就是重中之重了。这里先介绍一下web scraper的抓取逻辑:需要设置一个一级选择器(selector),设定需要抓取的范围;在一级选择器下建立一个二级选择器(selector),设置需要抓取的元素和内容。
6 l- F1 p" P y5 R: T以抓取张佳玮关注对象为例,我们的范围就是张佳玮关注的对象,那就需要为这个范围创建一个选择器;而张佳玮关注的对象的粉丝数、文章数量等内容就是二级选择器的内容。
6 n4 G. p+ T. _' a* U/ D具体步骤如下:
: n, ~1 h0 c C/ |/ n(1) Add new selector 创建一级选择器Selector:+ R7 W& y$ m6 x0 E; z4 t7 U b4 e( T
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
点击后就可以得到下图页面,所需要抓取的内容就在这个页面设置。
& r2 V# B+ g" W6 ?
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
l id:就是对这个选择器命名,同理,自己看得懂就好,这里就叫jiawei-scrap。 & `4 E' r& G. c8 H
l Type:就是要抓取的内容的类型,比如元素element/文本text/链接link/图片image/动态加载内Element Scroll Down等,这里是多个元素就选择element。
% \6 j$ J3 B; `# O' {0 Sl Selector:指的就是选择所要抓取的内容,点击select就可以在页面上选择内容,这个部分在下面具体介绍。) |$ c) Y! V, i% a
l 勾选Multiple:勾选 Multiple 前面的小框,因为要选的是多个元素而不是单个元素,当勾选的时候,爬虫插件会识别页面下具有相同属性的内容;! j' l9 i X4 F. Z
(2)这一步就需要设置选择的内容了,点击select选项下的select 得到下图:
- v' R9 I; {! u3 w6 O
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
之后将鼠标移动到需要选择的内容上,这时候需要的内容就会变成绿色就表示选定了,这里需要提示一下,如果是所需要的内容是多元素的,就需要将元素都选择,例如下图所示,绿色就表示选择的内容在绿色范围内。
! M9 Y- |. A' l! _
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
选择内容范围后,点击鼠标,选定的内容范围就会变成如下图的红色:
; M2 _! z) c, M6 a
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
当一个内容变红后,我们就可以选择接下来的第二个内容,点击后,web scraper就会自动识别你所要的内容,具有相同元素的内容就都会变成红色的。如下图所示:
& Y. n( _' W" b* K+ @
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
检查这个页面我们需要的内容全部变成红色之后,就可以点击 Done selecting选项了,就可以得到如下图所示:
$ s: w( u9 F. d
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
点击save selector,保存设置。到这里后,一级选择器就创建完成了。! Z3 \9 |2 `( H6 I6 c6 f5 s
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
# T+ z3 @ T% \4 K
# M4 b+ @# L* U {/ P! m: \ W
5、设置二级选择器:选择需要采集的元素内容。 A/ |# ?3 _% h$ m# T& r) W' d3 q
(1)点击下图中红框内容,就进入一级选择器jiawei-scrap下: C1 c: q% ~4 ]9 X) B% w4 m9 n. w
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
(2)点击add new selector创建二级选择器,来选择具体内容。( n: s6 ~) Z8 r' m
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
得到下图,这跟一级选择器的内容是相同的,但是设置是有区别的。
/ ?# W* k+ @$ n6 {3 D# g
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
Ø id:代表抓取的是哪个字段,可以取该字段的英文,比如要选「作者」,就写「writer」;
' K5 H9 z9 x! q& N/ aØ Type:这里选Text选项,因为要抓取的是文本内容;
: U8 f2 r: H' T, hØ Multiple:不要勾选 Multiple 前面的小框,因为在这里要抓取的是单个元素;( c6 P0 W5 _) W* _! a5 O+ D
Ø 保留设置:其余未提及部分保留默认设置。
8 s3 S% a: u4 k& A3 {(3)点击select选项后,将鼠标移到具体的元素上,元素就会变成黄色,如下图所示:
+ b$ W( }: r; g; G8 U
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
在具体元素上点击后,元素就会变成红色的,就代表选定该内容了。2 J5 F# K% _ B E
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
(4)点击Done selecting后完成选择,再点击save selector后就可以完成关注对象知乎名字的选取了。
: U% q, C/ v( e. t0 k
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
重复以上操作,直到选完你想爬的字段。' ~+ Y( p4 S) [
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
1 i6 h5 j5 G# W7 @ ?3 P4 Q, {4 W
" T1 D3 }! t' k5 t& s: W3 U% ]) V(5)点击红框部分可以看到采集的内容。" d* r. @+ m; d3 g' S2 i5 \
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
Data preview可以看到采集内容,edit可以对设置的内容做修改。
; z2 A/ S! t: a! I% @6 i% L2 B
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
+ ~+ a7 z0 f7 Q9 B2 o1 Q9 H7 @! ?7 {2 }/ X1 e
6、爬取数据
1 O. L5 z& U) I& y* [(1)只需要设置完所有的 Selector,就可以开始爬数据了,点击 Scrape map,! V, v) U6 a# e6 A" d; I
选泽scrape;:) D# F- {+ J5 Q. i5 L" M! B
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
(2)点击后就会跳到时间设置页面,如下图,由于采集的数量不大,保存默认就可以,点击
- V. E7 v L; t, }# zstart scraping,就会跳出一个窗口,就开始正式采集了。
8 T4 d0 i( [7 E, n) D
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
(3)稍等一会就可以得到采集效果,如下图: H+ A n7 w6 \4 K- m: R/ v, K
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
(4)选择sitemap下的export data2 x* j4 D2 P- w, e, d& U T2 N& p
as csv选项就可以将采集的结果以表格的形式导出。
, L* {5 h2 R& C4 B3 s! H
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
表格效果(一部分数据):
( W/ i5 ?, x9 p( T2 G# ?2 u
不用代码,10分钟学会微博、微信、知乎、58、豆瓣数据和...
除此之外,还利用web scraper采集了58同城租房信息、大众点评美食信息、微信公众号咪蒙文章、京东小米手机评价等。
$ d6 G+ O, z2 t N. u
% i$ u! m& | a- t4 }$ Q) v/ k原文来源:一点资讯|整站优化 万维网 SEO 优化方法... |