网络爬虫-实验手册
- 格式:docx
- 大小:133.28 KB
- 文档页数:13
网络爬虫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 jEnter or select the pa rent +口1日年匸html Crawler愉' A O“htmlCrawler * .settingsbin吕srcLi- R«mote£yct»iri£TeF¥ipFll»c> 豐卫£erveletDemo> Lch1ServersP 砂teslDem □千Finish C^n 匚ml图2创建文件夹2解压缩webcollector-2.26-bin.zip,拷贝所有的Jar包,放到lib目录中,如图3所示。
■ £htmlCrawlersrc1> 宫JRE System Jbrary [J a -2SL-L.E. J Q libb amcres t-匚ore-1.2 jar_ je-5d0i73jarj s on -20140107 .jar也jsoup l.SJ.jarjunit-4.11 jarjurritfer5alchardet-l.O.3jar_ Iog4j-l,217jar 5lf4j-apr 1.7.9 Jar slf4j-l og4jl2-J.7,9ja rWebCol 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 EB-A-■i出darriol* & htmiCr 占ire•」RE J& lib 也理,tNewGo Into►沁-T 〒7 \Pft title. i P* Insert titl已皿* Open in New Wir■廿tmxcncratccl construGtcr 3tub Open Type Hierarchy F4Show Ln Alt+ShlftfW*Copy Ctrl*匚(rrttpse rvletR eqtjestCopy Qualified! N^amecGet(HttpServletRuqu亡st -ecue Paste cvl+v|-generated method stub[HeaderC'refresh", 3 );KontentTypuf "imawt/jpeg") j Remove froni Coritexl Ctfl+Alt+ShiftiD uwnI FliOL.a n=i卜d / \ ■q磊Link Source,..Source Alt+Shift+S *艇New Source Fcldfir...R.-etacto^罩Useai Source FelderIrnpcrt.ii叩Add Erternal Archives—Export”鼻Add Libraries.Refresh F5蕊、I Conjure 0u Id ^atT^"Cl os# ProjectClose Llnrplated ProjectsAssign Workina Sets.huuRefaclur ^svigaie Search Prarert Run Wndow beljderation B Console 盘畠'v itTilCrevelermpefiitEr textR«DUTGe BuilderaJd¥d Euild PdthCodle SlyleJfiva Corrpiler 」_avaEditor」avadoc LocitiiiQnProject Facets ProjectRe+*rer<!&s Run/DtbugSetb n g s- 一gkRuposrto 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*CancelJAR SelectionChcose th? arch ives to be ad d ed to the buil d path: type filter text [> ◎ 18_paging -凶 rraweldem &1占 htmlCrawler依次选中jar 包,导入到工程中。
4如果想看 WebCollector 的源码,可以为 Jar 包关联源码(可选),如图6、图7所示。
圖 rTft[判 jjU j_ZJi Jla|,Jd|harmcrfrsb core-1.3 jar je-5A73jarjscn-20140107.Jarisoup-L8»ljar jumt-4.il j arj universal cha rdel-lJDb3 J n r I og-4j-1.2.17.ja rslf4j-api-L7.9Jar wK4j 」og4j 12-1.7,rWeb Co lkrtor-2.26.jarCancelSelect the location (folder, JAR or zip) containing the source for r WebCo 11 ector-2.2 6.j air':Workspace locationPath:Brews e..Ha External locationPath:E/Lft 翩岸智教学漂件“吉輻 ^/2 014SS/J aExternal File,,, Encoding: Default (GBK)〒External FoIdier...3.3现在可以编写WebCollector 爬虫的代码了新建一个类 Crawler.java ,继承自BreadthCrawler 。
重写visit 方法,来实现满足自己 需求的爬虫即可。
如图 8、图9所示。
Properties fer htmlCrawler tyxse tiltsr textRff^ouirceBuildersjdvd Build Pdth 兄佃 Code Simile :-hw CompilerXa Editor Jsvf dcii-c Locaden Project Fae&« ProjBct RefereniceE Run/DebugiFTtings :Task Repository Title Tagt ValidationwiklevtJAHc ind dice to ders on the Bui lb p>:hso® 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^:.rAdd Varidb e... Ajdd Library — Add CI055 Folder,,“ £lf4j -l 7.9j A r ■ htmlCr 押l#r"ilcAde亡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 ozeMignt» JAR 所 1 律…nr _ ________________ | rCanc&iJava Build PathSource Attachment ConfigijrationNsw JavaJava ClassCr tdle d new JavdSource fclder^ htjmlCrawler/sicPac'kfl>gc; htmlCrowIcriNamc;Crawler1"* 1 UU 11 Icil —■■尊予( package private prote ctedligb^tract 「1 Krual ^:ati匚1 Supeicldiisb:L n. ctdu.hful.drT lit. webccll crLtGr .plug! n.be ikeley.Brt-dLJ thCrdwIerBlOUV 乂・・・TnteH'arR^:Add—i □ Enclosing type;Which method stubs would you like to c^eetc_ public static void ma n(String!] args)—Conrtrijctors from ^^perdagsVI Jnheritcrd ab^trdct methodsCo you li^ant to add cornments / tQoriffig Jire templates and default value 品厂时Generate commertsFinish CancelD Crawler.jav^ S3package htmltrawler;:-import cn. edu,hfut. dmic. webcollector, mo del-匚rav/1 Datums}4 import ^hfut.dmic-webcoll^ctor.model.Page;5 import .hfut.dmic-webcollector.plugin.berkeley.BreadthCrawler;-public cl^5S Erx日dth匚「QvdEr| fIS11121314-15161715public CrawlerfString crawlPathj boolean autcParse) {super (crmwlP 日th』autze Parse)^/ / T>OD:1:Auto-gene rated cons irr uc 七Q IT stub(^Overridepublic void vi&it(Page 勺白駅二CrawlDatume next) { // TODU Auto-generated method stub图93.4抓取河北师大软件学院网站首页的源代码fetch URL:爬取结果如图10所示。