java 爬虫电影天堂

项目的介绍

电影天堂爬虫项目是通过使用爬虫技术获取网页有价值的。其最主要的分为七个步骤

确定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方法方便后面的测试

java 爬虫电影天堂

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

java 爬虫电影天堂
java 爬虫电影天堂

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

java 爬虫电影天堂

4在爬虫类中创建Queue(保存URL队列)、LinkQueue(管理URL队列)、HtmlDownloader(下载网页)、HtmlParser(解析网页)、DataOutput(数据储存)、SpiderCeawler(实现爬虫)

下图为实现爬虫的代码通过while循环来实现url的遍历 然后解析数据同时添加正则表达式来过滤非电影界面的网页

java 爬虫电影天堂

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

java 爬虫电影天堂
java 爬虫电影天堂

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

java 爬虫电影天堂

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

java 爬虫电影天堂

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

java 爬虫电影天堂

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

java 爬虫电影天堂

数据库代码 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 爬虫电影天堂

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

上一篇 2023-06-08 10:00:00
下一篇 2023-06-08 10:02:12

猜你喜欢

联系我们

在线咨询: QQ交谈

邮件:362039258#qq.com(把#换成@)

工作时间:周一至周五,10:30-16:30,节假日休息。