公众号+增量爬虫开发分享

第一节

为什么开发电影公众号laotiepa

开发这个公众号,主要是来自微信公众后台朋友的提问,有个朋友的问题真的很有意思,他问 爬虫能干什么,能不能举个例子。我现在想说朋友,我已经回答你了,爬虫主要用来作为数据源,提供大量的数据,从而完成更加实用的功能。我这个公众号的电影数据源就是从互联网上爬取下来的,自己编写的爬虫,每日定时更新数据,一些较新的电影资源都会看到(侵权的话通知我删),主要是玩玩,给大家提供一些案例,喜欢的话就关注一下,当然你也可以分享给你的朋友们

第二节

爬取电影天堂

公众号的开发,我就不讲了,上一篇文章已经讲了很多SDK,看着SDK开发文档,很容易就可以做出来,没什么技术含量。现在我们主要说一下数据源爬虫的开发,目标是电影天堂,使用的是scrapy框架编写的。

如果大家之前看过我的书,很容易理解接下来的内容。

这次比较特别的地方是咱们要写一个增量的爬虫:重复的标准不再是url,而是url+更新时间,因为一部电视剧有很多集,但是页面链接还是一个,每次更新是在原来页面上更新的,所以不能依靠url来去重。

然后在启动爬虫后,从电影列表中抓取电影url与更新时间,如果url+更新时间不在集合中,则进行电影详情页的爬取。

需要说明地方也就这一点,scrapy爬虫的编写,我在我的书中已经写的比较详细了,这里不再赘述,完整代码放到了github :https://github.com/qiyeboy/LuLunZi。

下面我贴一下主要的代码截图,方便大家在微信里看。

数据的存储使用的是mongodb

网页解析,清洗部分的代码有点长,这就不截图了,大家可以去github中下载。

最后来个运行效果图,有图有真相。

数据存储截图:

原文发布于微信公众号 - 七夜安全博客(qiye_safe)

原文发表时间:2017-12-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学与人工智能

【Python环境】Scikit-Learn:开源的机器学习Python模块

scikit-learn是一个用于机器学习的 Python 模块,建立在SciPy基础之上,获得3-Clause BSD 开源许可证。这个项目是由 David ...

25010
来自专栏灯塔大数据

Java程序员使用的20几个大数据工具

最近问了很多Java开发人员关于最近12个月内他们使用的是什么大数据工具。 这是一个系列,主题为: 语言 web框架 应用服务器 SQL数据访问工具 SQL数...

3406
来自专栏我是攻城师

Java程序员使用的20几个大数据工具

2899
来自专栏云计算教程系列

如何在Ubuntu上搭建Minecraft服务器

PS:本文撰写前已查询相关法律,本文内容不违反《互联网文化管理暂行规定》,遵守EULA协议,请勿举报。

6085
来自专栏北京马哥教育

在 shell 中使用 vi 模式

糖豆贴心提醒,本文阅读时间4分钟 作为一名大型开源社区的参与者,更确切地说,作为 Fedora 项目的成员,我有机会与许多人会面并讨论各种有趣的技术主...

3487
来自专栏Linyb极客之路

大型分布式网站架构需要点亮的技能树

以用户为中心,提供快速的网页访问体验。主要参数有较短的响应时间,较大的并发处理能力,较高的吞吐量,稳定的性能参数。

1044
来自专栏阮一峰的网络日志

软件架构入门

软件架构(software architecture)就是软件的基本结构。 合适的架构是软件成功的最重要因素之一。大型软件公司通常有专门的架构师职位(archi...

2834
来自专栏PHP在线

大型分布式网站架构技术总结

原文出处: ITFLY8 本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一...

3497
来自专栏Youngxj

QQ综合工具箱-AD盒子

1744
来自专栏java一日一条

大型分布式网站架构技术总结

本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人...

802

扫码关注云+社区