Java豆瓣电影爬虫——抓取电影详情和电影短评数据
2017-09-07 14:47
441 查看
动机
采集豆瓣电影数据包括电影详情页数据和电影的短评数据。
电影详情页如下图所示
需要保存这些详情字段天津关键词优化如导演、编剧、演员等还有图中右下方的标签。
短评页面如下图所示
需要保存的字段有短评所属的电影名称,每条评论的详细信息如评论人名称、评论内容等。
数据库设计
有了如上的需求,需要设计表,其实很简单,只需要一张电影详情表movie和一张电影短评表comments,另外还需要一张存储网页提取的超链接的记录表record。
movie表
movieId:主键,自增长
Name:电影名
Director:导演
Scenarist:编剧
Actors:主演
Type:类型
Country:制片国家/地区
Language:语言
releaseData: 上映日期
Runtime: 片长
ratingNum:豆瓣评分
Tags:标签
comments表
commentId:主键,自增长
commentInfo:评论内容
commentAuthor:评论者
commentAuthorImgUrl:评论者头像链接
commentVote:评论点赞数
commentForMovie:评论的电影名
recordId:链接record表,暂时未用到
record表
recordId:主键,自增长
URL:爬取解析的超链接
Crawled:是否被爬过
注意:数据库设计是在不断调整的,比如之前设计了一张tags表,用于存储每部电影的标签,经过调整发现直接放到movie中作为一个字段更加方便,又比如comments表中,commentForMovie是后来加上的,方便查找当前的评论针对哪部电影。
使用的技术
语言:Java(语言是一门工具,网上用python,java,nodejs比较多)
数据库:Mysql(轻便易用)
解析页面:Jsoup(比较熟悉httpparser,虽然功能强大,但是稍显繁琐,这里用Jsoup,因为其为类javascript语法)、正则表达式(对于一些结构比较奇怪的dom结构,采用了正则表达式的方式来提取信息,其实也可以用xpath,但是xpath极易受dom结构变化而失效)
比如对于网页源码如下
可以通过如下代码来解析相应字段(其中有用Jsoup和正则表达式的)
对于服务端返回不同状态的http status,本程序对于如304,401,403,404等都采取了丢弃处理,不作解析。
效果展示
record表记录
movie表记录
comments表记录
以上只是一个爬取数据的后台实现雏形,还有很多细节的问题需要解决。后期可能会补上环境搭建以及遇到的问题和解决方法相关的文章。
采集豆瓣电影数据包括电影详情页数据和电影的短评数据。
电影详情页如下图所示
需要保存这些详情字段天津关键词优化如导演、编剧、演员等还有图中右下方的标签。
短评页面如下图所示
需要保存的字段有短评所属的电影名称,每条评论的详细信息如评论人名称、评论内容等。
数据库设计
有了如上的需求,需要设计表,其实很简单,只需要一张电影详情表movie和一张电影短评表comments,另外还需要一张存储网页提取的超链接的记录表record。
movie表
movieId:主键,自增长
Name:电影名
Director:导演
Scenarist:编剧
Actors:主演
Type:类型
Country:制片国家/地区
Language:语言
releaseData: 上映日期
Runtime: 片长
ratingNum:豆瓣评分
Tags:标签
comments表
commentId:主键,自增长
commentInfo:评论内容
commentAuthor:评论者
commentAuthorImgUrl:评论者头像链接
commentVote:评论点赞数
commentForMovie:评论的电影名
recordId:链接record表,暂时未用到
record表
recordId:主键,自增长
URL:爬取解析的超链接
Crawled:是否被爬过
注意:数据库设计是在不断调整的,比如之前设计了一张tags表,用于存储每部电影的标签,经过调整发现直接放到movie中作为一个字段更加方便,又比如comments表中,commentForMovie是后来加上的,方便查找当前的评论针对哪部电影。
使用的技术
语言:Java(语言是一门工具,网上用python,java,nodejs比较多)
数据库:Mysql(轻便易用)
解析页面:Jsoup(比较熟悉httpparser,虽然功能强大,但是稍显繁琐,这里用Jsoup,因为其为类javascript语法)、正则表达式(对于一些结构比较奇怪的dom结构,采用了正则表达式的方式来提取信息,其实也可以用xpath,但是xpath极易受dom结构变化而失效)
比如对于网页源码如下
效果展示
record表记录
movie表记录
comments表记录
以上只是一个爬取数据的后台实现雏形,还有很多细节的问题需要解决。后期可能会补上环境搭建以及遇到的问题和解决方法相关的文章。
相关文章推荐
- Java豆瓣电影爬虫——抓取电影详情和电影短评数据
- Python爬虫:新浪新闻详情页的数据抓取(函数版)
- Java豆瓣电影爬虫——使用Word2Vec分析电影短评数据
- 简单的PHP爬虫抓取百度贴吧用户数据
- 爬虫抓取5大门户网站和电商数据day1:基础环境搭建
- Python学习笔记 第二部分 - 正则表达式 与 爬虫小实例(抓取豆瓣电影中评分大于等于8分的影片)
- QQ空间爬虫分享(一天可抓取400万条数据)
- node.js 小爬虫抓取网页数据(2)
- Python爬虫抓取基金数据
- python网络爬虫抓取动态网页并将数据存入数据库MySQL
- scrapy爬虫之抓取《芳华》短评及词云展示
- python爬虫---post抓取查询数据简单说明
- Pyhton爬虫实战 - 抓取BOSS直聘职位描述 和 数据清洗
- [爬虫]抓取百万知乎用户数据之爬取思路
- 数据抓取之反爬虫规则:CSRF防御处理及异步请求处理
- Python爬虫:十分钟实现从数据抓取到数据API提供
- 动态网站数据采集 - 时光网电影信息爬虫
- 实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
- python淘宝爬虫基于requests抓取淘宝商品数据
- Java爬虫实战(二):抓取一个视频网站上2015年所有电影的下载链接