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

第一节

为什么开发电影公众号laotiepa

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

第二节

爬取电影天堂

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

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

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

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

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

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

数据的存储使用的是mongodb

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

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

数据存储截图:

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5556
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2576
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6948
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3185
来自专栏一个爱瞎折腾的程序猿

sqlserver使用存储过程跟踪SQL

USE [master] GO /****** Object: StoredProcedure [dbo].[sp_perfworkload_trace_s...

2070
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4045
来自专栏魂祭心

原 canvas绘制clock

4164
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2192
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4778

扫码关注云+社区