项目的介绍
电影天堂爬虫项目是通过使用爬虫技术获取网页有价值的。其最主要的分为七个步骤
确定http://www.dytt8.net作为种子网页进行数据的内容提取将网页中的关联网页从连接中提取出来将尚未爬取得关联网页内容放到一个队列中将队列中爬取出一个待爬取得页面,判断之前是否爬过。把没有爬过的进行网页解析爬取并储存,并进行之前的重复操作。直到队列中没有新的内容,爬虫执行结束。爬虫它从互联网上抓取我们所需的信息,可以自动按时执行,以一定的规则抓取页面,处理后
存储或利用起来,把别人的资源变成自己的。一般先建立一个爬虫队列,将初始URL放入队列;
爬取初始URL,获取内容和URL链接,内容处理,搜集存储自己需要的资源,链接标记为已爬取
;获取内容里的所有url,将自己需要的url加入爬虫队列;从队列里取出一个未标记的url,继
续爬取,获取内容,继续扩充爬虫队列;当所有url都是已爬取,爬取结束。
爬取这个软件需要准备的工具:电脑win7 64x 需要的软件为Eclipse 、SQLyog Ultimate、360浏览器
本项目通过DAO模式来实现
DAO模式
隔离业务逻辑代码和数据访问代码(数据存取对象)位于业务逻辑和持久数据之间业务逻辑层,数据访问层(Oracle,SQLServer,MySQL)首先创建电影天堂的工程然后在src下创建6个包com.dytt.dao(DAO接口)、com.dytt.dao.impl(DAO实现类)、com.dytt.entity(实体类)、com.dytt.spider(爬虫类)、com.dytt.test.spider(测试爬虫类)、com.dytt.text(测试数据储存类)。
关键代码截图以及对代码的说明在实体类中创建电影的实体类Movie将对象设置为私有并设置构造方法同时添加toString方法方便后面的测试

在DAO接口类中创建实体类的接口MovieDao和加载数据库驱动的BaseDao以及创建通用的增删改方法


3在DAO的实现类中创建MovieDaoImpl作为MovieDao接口的实现类(继承BaseDao实现MovieDao接口)并添加SQL语句。

4在爬虫类中创建Queue(保存URL队列)、LinkQueue(管理URL队列)、HtmlDownloader(下载网页)、HtmlParser(解析网页)、DataOutput(数据储存)、SpiderCeawler(实现爬虫)
下图为实现爬虫的代码通过while循环来实现url的遍历 然后解析数据同时添加正则表达式来过滤非电影界面的网页

下两张图为实现URL队列和判断是否重复的方法


下图为解析网页通过各个标签获取网页中自己需要的数据

下图为网页下载的配置 头部文件、异常处理、

下图为数据储存的方法 通过dao对象的多态来把数据储存到数据库

5在爬虫测试类中创建TestSpider测试爬虫

数据库代码 id为整形 其他都为汉字或字符所以使用字符串
Create Table
CREATE TABLE `movies` (
`id` int(100) NOT NULL AUTO_INCREMENT,
`translatedName` text,
`title` text,
`years` text,
`placeOrigin` text,
`category` text,
`language` text,
`subtitle` text,
`releaseDate` text,
`imdbScore` text,
`beanScore` text,
`fileFormat` text,
`videoSize` text,
`fileSize` text,
`sheeLength` text,
`director` text,
`performer` text,
`briefIntroduction` text,
KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=137 DEFAULT CHARSET=utf8
6SQL中创建Movie数据库在数据库中创建movies表

免责声明:文章内容来自互联网,本站仅提供信息存储空间服务,真实性请自行鉴别,本站不承担任何责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:java 爬虫电影天堂 https://www.bxbdf.com/a/102083.shtml