ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:508.60KB ,
资源ID:19342354      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19342354.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络爬虫实验手册簿Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网络爬虫实验手册簿Word格式.docx

1、3.1 建立应用程序项目打开eclipse,创建本次实验项目htmlCrawler(【File】-【New】-【Java Project】)如图1所示。图1 创建工程3.2 在Eclipse项目中配置使用WebCollector爬虫1 选中 htmlCrawler 右键,选中【New】-【Folder】,输入文件名称“lib”,如下图2所示。图2 创建文件夹2解压缩 webcollector-2.26-bin.zip,拷贝所有的Jar包 ,放到lib目录中,如图3所示。图3 目录结构图3将文件夹lib中的所有jar包添加到build path中,如图4、图5、图6所示。图4 图5 图6依次选中

2、jar包,导入到工程中。4 如果想看WebCollector的源码,可以为Jar包关联源码(可选),如图6、图7所示。图73.3 现在可以编写WebCollector爬虫的代码了新建一个类Crawler.java,继承自BreadthCrawler。重写visit方法,来实现满足自己需求的爬虫即可。如图8、图9所示。图8图93.4 抓取河北师大软件学院网站首页的源代码package htmlCrawler;import java.io.IOException;import cn.edu.hfut.dmic.webcollector.model.CrawlDatums;import cn.edu

3、.hfut.dmic.webcollector.model.Page;import cn.edu.hfut.dmic.webcollector.plugin.berkeley.BreadthCrawler;import cn.edu.hfut.dmic.webcollector.util.FileUtils;public class Crawler extends BreadthCrawler public Crawler(String crawlPath, boolean autoParse) super(crawlPath, autoParse); / TODO Auto-generate

4、d constructor stub Override public void visit(Page page, CrawlDatums next) / TODO Auto-generated method stub try System.out.println(正在提取:+page.getUrl(); /将爬取的内容写到test.html页 FileUtils.writeFileWithParent(downloads/test.html, page.getContent(); catch (IOException e) / TODO Auto-generated catch block e

5、.printStackTrace(); public static void main(String args) /创建爬虫对象 Crawler crawler = new Crawler(html_crawler,true); crawler.addSeed( /启动 爬虫 crawler.start(1); catch (Exception e) 控制台输出结果:2016-02-25 14:23:06 INFO cn.edu.hfut.dmic.webcollector.crawler.Crawler - start depth 106 INFO cn.edu.hfut.dmic.webc

6、ollector.fetcher.Fetcher - open generator:cn.edu.hfut.dmic.webcollector.plugin.berkeley.BerkeleyGenerator06 INFO cn.edu.hfut.dmic.webcollector.fetcher.Fetcher - init segmentWriter:cn.edu.hfut.dmic.webcollector.plugin.berkeley.BerkeleyDBManager07 INFO cn.edu.hfut.dmic.webcollector.fetcher.Fetcher - -

7、activeThreads=1, spinWaiting=0, fetchQueue.size=007 INFO cn.edu.hfut.dmic.webcollector.fetcher.Fetcher - fetch URL: 08 INFO cn.edu.hfut.dmic.webcollector.fetcher.Fetcher - -activeThreads=0, spinWaiting=0, fetchQueue.size=008 INFO cn.edu.hfut.dmic.webcollector.fetcher.Fetcher - clear all activeThread

8、08 INFO cn.edu.hfut.dmic.webcollector.fetcher.Fetcher - close generator:08 INFO cn.edu.hfut.dmic.webcollector.fetcher.Fetcher - close segmentwriter:08 INFO cn.edu.hfut.dmic.webcollector.plugin.berkeley.BerkeleyDBManager - start merge08 INFO cn.edu.hfut.dmic.webcollector.plugin.berkeley.BerkeleyDBMan

9、ager - merge fetch database08 INFO cn.edu.hfut.dmic.webcollector.plugin.berkeley.BerkeleyDBManager - merge link database08 INFO cn.edu.hfut.dmic.webcollector.plugin.berkeley.BerkeleyDBManager - end merge08 INFO cn.edu.hfut.dmic.webcollector.crawler.Crawler - depth 1 finish: TOTAL urls: 1 TOTAL time:

10、 2 seconds爬取结果如图10所示。图104 扩展内容4.1 在本实验的基础上,进行相关的设置:(1)爬取的深度;设置开启的线程数;(2)设置爬取url的上限;(3)通过正则表达式设置爬取哪些网页,不爬取哪些网页等(eg./*不要爬取jpg|png|gif*/ ,代码:crawler.addRegex(-.*.(jpg|png|gif).*);)。(4)实现代码由学生自己完成4.2 实现自己的网络爬虫,抓取“新浪新闻”(1)需要抓取信息包括:网址,标题,时间,网页内容等。(2)将抓取的数据写到文本文件或excel表中。(3)抓取代码由学生自己完成。提示:将数据写到excel表中,需要导入

11、poi-3.14-beta1-20151223.jar包,部分代码如下:/创建一个EXCEL Workbook wb = new HSSFWorkbook();./创建一个SHEET sheet1 = wb.createSheet(数据解析 String title = url,标题评论时间内容本地相对路径; int i=0; /创建一行 Row row = sheet1.createRow(short)0); /填充标题 for (String s:title) Cell cell = row.createCell(i); cell.setCellValue(s); i+;/下面是填充数据的

12、部分代码AtomicInteger id=new AtomicInteger(0);Row row = sheet1.createRow(short)id.incrementAndGet(); row.createCell(0).setCellValue(url); row.createCell(1).setCellValue(title); row.createCell(2).setCellValue(comment); row.createCell(3).setCellValue(time); row.createCell(4).setCellValue(contents); row.cr

13、eateCell(5).setCellValue(path);4.3 改进4.2中自己的网络爬虫,将抓取的数据直接写到数据库中。实现代码由学生自己完成。使用JDBC连接数据库,要先导入mysql-connector-java-5.1.6-bin.jar包。表的创建可以参考如下sql语句:create table t_mess( id int(4) not null primary key auto_increment, url varchar(255) not null, title varchar(255) , date varchar(255), content TEXT(10000), path varchar(255);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1