网络爬虫-实验手册
网络爬虫
1. 实验目标
1. 熟悉网络爬虫的相关概念及实现网络爬虫的相关流程。
2. 了解WebCollector框架的基本原理。
3. 熟练掌握在Eclipse项目中配置使用WebCollector爬虫。
2. 前提条件
1. 正确安装和配置Java开发环境。
2. 了解网络爬虫的相关知识
3. 进入WebCollector官方网站下载所需jar包。
3. 实验任务及完成标准
本次实验通过WebCollector框架实现一个简单的聚焦网络爬虫。用户可根据自己的需求定制网络爬虫,设定待爬取的网址、爬取网页的数量、爬取网页的内容等。通过对该实例的详细介绍来探讨网络爬虫的原理及在实际生活中的应用。
在此实例的基础上,学生需要独立完成更为复杂的聚焦网络爬虫,来爬取更有意义的内容。具体要求见“ 4扩展内容”。
3.1建立应用程序项目
打开eclipse,创建本次实验项目htmICrawler (【File】->【New】->【Java Project]
)如图1所示。
图1创建工程
3.2在Eclipse 项目中配置使用WebCollector 爬虫
1选中htmlCrawler 右键,选中【New 】->【Folder 】,输入文件名称"lib ”,如下图2
所示。
]New Folder 1 1 回
Folder i Create a new folder resource?if j
Enter or select the pa rent +口1日年匸
html Crawler
愉' A O
“htmlCrawler * .settings
bin
吕src
Li- R?mote£yct?iri£TeF¥ipFll?c
> 豐卫£erveletDemo
> Lch1Servers
P 砂teslDem □千
Finish C^n 匚ml
图2创建文件夹
2解压缩webcollector-2.26-bin.zip,拷贝所有的Jar包,放到lib目录中,如图3所示。
■ £htmlCrawler
src
1> 宫JRE System Jbrary [J a -2SL-L.E. J Q lib
b amcres t-匚ore-1.2 jar
_ je-5d0i73jar
j s on -20140107 .jar
也jsoup l.SJ.jar
junit-4.11 jar
jurritfer5alchardet-l.O.3jar
_ Iog4j-l,217jar 5lf4j-apr 1.7.9 Jar slf4j-l og4jl2-J.7,9ja r
WebCol lecto r-2 J 6 jar
图3目录结构图
3将文件夹lib中的所有jar包添加到build path中,如图4、图5、图6所示。
Advanced > >
IE J^va - SenrtletDeqio/src/Serv et. ^espT estj - Ec jpse
匡Package E
B
-
A
-
■
i出darriol
* & htmiCr 占
ire
?」RE J
& lib 也
理,t
New
Go Into
?沁-T 〒7 \P
ft title. i P* Insert titl已皿* Open in New Wir■廿tm
xcncratccl construGtcr 3tub Open Type Hierarchy F4
Show Ln Alt+ShlftfW*
Copy Ctrl*匚(rrttpse rvletR eqtjest
Copy Qualified! N^ame
cGet(HttpServletRuqu亡st -ecue Paste cvl+v|-generated method stub
[HeaderC'refresh", 3 );
KontentTypuf "imawt/jpeg") j Remove froni Coritexl Ctfl+Alt+ShiftiD uwn
I FliOL.a n=i卜d / \ ■
q磊Link Source,..
Source Alt+Shift+S *艇New Source Fcldfir...
R.-etacto^
罩Useai Source Felder
Irnpcrt.ii叩Add Erternal Archives—
Export”鼻Add Libraries.
Refresh F5蕊、I Conjure 0u Id ^atT^"
Cl os# Project
Close Llnrplated Projects
Assign Workina Sets.h
uu
Refaclur ^svigaie Search Prarert Run Wndow belj
deration B Console 盘
畠'v itTilCreveler
mpefiitEr text
R?DUTGe Buildera
Jd¥d Euild Pdth
Codle Slyle
Jfiva Corrpiler 」_ava
Editor
」avadoc LocitiiiQn
Project Facets Project
Re+*rer
Setb n g s- 一gk
Ruposrto ry 一貯It 口声
Validation wndTert
」ava Build Path
芒Source & Pirojedtsl Libraries Qrdv『si nd .Expert | ""
JAfii sndl t怙(udeta the L JI I J p^ilh-
諭J'RE Systerri Library [JisvaSE-l^]
A du z.>::e rid ! =
Add Vdriable...
Add Ubrciry...
Add Clan Fd-der.
Add Extciiiali Claa^ Fbdur*
Cancel
JAR Selection
Chcose th? arch ives to be ad d ed to the buil d path: type filter text [> ◎ 18_paging -凶 rrawel
dem &1
占 htmlCrawler
依次选中jar 包,导入到工程中。
4如果想看 WebCollector 的源码,可以为 Jar 包关联源码(可选),如图6、图7所示。
圖 rTft
[判 jjU j
_ZJ
i Jla|
,Jd
|
harmcrfrsb core-1.3 jar je-5A73jar
jscn-20140107.Jar
isoup-L8?
ljar jumt-4.il j ar
j universal cha rdel-lJDb3 J n r I og-4j-1.2.17.ja r
slf4j-api-L7.9Jar wK4j 」og4j 12-1.7,r
Web Co lkrtor-2.26.jar
Cancel
Select the location (folder, JAR or zip) containing the source for r WebCo 11 ecto
r-2.2 6.j air':
Workspace location
Path:
Brews e..H
a External location
Path:
E/Lft 翩岸智教学漂件“吉輻 ^/2 014SS/J a
External File,,, Encoding: Default (GBK)〒
External FoIdier...
3.3现在可以编写WebCollector 爬虫的代码了
新建一个类 Crawler.java ,继承自BreadthCrawler 。重写visit 方法,来实现满足自己 需求的爬虫即可。如图 8、图9所示。
Properties fer htmlCrawler tyxse tiltsr text
Rff^ouirce
Builders
jdvd Build Pdth 兄
佃 Code Simile :-hw Compiler
Xa Editor Jsvf dcii-c Locaden Project Fae&? ProjBct RefereniceE Run/Debug
iFTtings :Task Repository Title Tagt Validation
wiklevt
JAHc ind dice to ders on the Bui lb p>:hs
o? hamcmKt-cctre-L.a Jsr - %rrtl 匚苛ib 乔 je-5-0.73jar - hlniilCiriavvIer/lib
? jwr -20140107Jar - hirniCrciwter/lib 总 j?up-X&3jflr ■ hrlmJCrawIcf/Eb
?v junk^lljiar b l^mlQnwlcrr/li b
" |unir?F5£il chardet-L0?』j&「- btm IC ra/f 1 r r/l ib a* Iog4j-1.2-17jar - HrnlCrawler/lib
“ stf4] 3pM.7.9.jar htmlCrawler/lib Add JASL^..^ Add External JfiR^:.r
Add Varidb e... Ajdd Library — Add CI055 Folder,,
“ £lf4j -l 7.9j A r ■ htmlCr 押l#r"ilc
Ade
亡rn 日 1 Cli3弓汀cdder“?
超[“ A 1 eo Lol lector-22b .|ar = HmlLraMer/li^
J Source attadhrnent: (Nome |
1 田 t- 1
创 Javadoc lacation 1 None) 奪
library lor^rirr: (Nonp'
肉 Arrest rule^ (No restricriop?) ? JRE Sj'^teiri LibrdEy
[JdVdSE*!^]
Rem oze
Mignt? JAR 所 1 律…
nr _ ________________ | r
Canc&i
Java Build Path
Source Attachment Configijration