前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐一个小伙伴的开源爬虫项目~

推荐一个小伙伴的开源爬虫项目~

作者头像
小小詹同学
发布2018-12-27 10:57:35
6400
发布2018-12-27 10:57:35
举报
文章被收录于专栏:小詹同学小詹同学

github地址在文末

正式介绍weixin_crawler之前,我准备了两个问题,这两个问题通过weixin_crawler自带的报告和搜索指数都能得到回答。

问题1:高考在每年的几月举行?

有无数种方法可以知道这个问题的答案。鉴于手头有60个公众号的全部发文数据,共计大约14万篇文章,其中包含了文章的发文时间、正文、阅读量等信息,于是决定使用“大数据”回答这个问题。

在这14万篇文章中出现“高”或者“考”的文章有12285篇,出现“高考”的文章有4390篇,按照月份统计这4390篇文章就得到了这张条形图,很明显每年的6月份出现“高考”的文章最多,如下图。

所以也就不难回答高考所在的月份了,这个问题只是起到一个抛砖引玉的用途,类似的问题还有很多,比如“创客教育是在哪一年兴起的?”

问题2:一个公众号应该在一天的哪个个小时段推文?

以新加坡万事通为例,新加坡万事通截止到今天累计发文10450篇。

第一步,获取公众号新加坡万事通的全部历史发文,得到每篇文章的发文小时和阅读量。

第二步,统计每个小时段内的发文总数,会得到一个类似这样的条形图。从下图可见该公众号主要是晚上7、8、9、10和凌晨12点发文为主,由此可大致推测目标读者的作息时间。

第三步,计算每个小时段发文阅读量的平均数或者中位数。如下图,可见晚上8点钟发文的阅读量中位数最高。

那些发文量靠前同时平均阅读量最高的小时段就应该是最佳发文时间,该公众号应该选择在更早的8点发文而不是大量集中在9点发文,凌晨12点就更加不合适了。实际统计中发现相当大比例的公众号并非在最佳的小时段发文。

以上数据和统计计算工作通过都可以通过weixin_crawler一键完成,现在回到开源微信公众号爬虫weixin_crawler。

What is weixin_crawler?

weixin_crawler是一款使用Scrapy、Flask、Echarts、Elasticsearch等实现的微信公众号文章爬虫,自带分析报告和全文检索功能,几百万的文档都能瞬间搜索。weixin_crawler设计的初衷是尽可能多、尽可能快地爬取微信公众的历史发文

主要特点

  1. 使用Python3编写
  2. 爬虫框架为Scrapy并且实际用到了Scrapy的诸多特性,是深入学习Scrapy的不错开源项目
  3. 利用Flask、Flask-socketio、Vue实现了高可用性的UI界面。功能强大实用,是新媒体运营等岗位不错的数据助手
  4. 得益于Scrapy、MongoDB、Elasticsearch的使用,数据爬取、存储、索引均简单高效
  5. 支持微信公众号的全部历史发文爬取
  6. 支持微信公众号文章的阅读量、点赞量、赞赏量、评论量等数据的爬取
  7. 自带面向单个公众号的数据分析报告
  8. 利用Elasticsearch实现了全文检索,支持多种搜索和模式和排序模式,针对搜索结果提供了趋势分析图表
  9. 支持对公众号进行分组,可利用分组数据限定搜索范围
  10. 原创手机自动化操作方法,可实现爬虫无人监管
  11. 反爬措施简单粗暴

使用到的主要工具

语言:Python3.6

web框架:Flask / Flask-socketio / gevent

js/css库:Vue / Jquery / W3css / Echarts / Front-awsome

爬虫:Scrapy 存储:Mongodb / Redis 索引:Elasticsearch

功能展示

UI主界面

添加公众号爬取任务和已经爬取的公众号列表

爬虫界面

设置界面

公众号历史文章列表

报告

搜索

对这个项目感兴趣的朋友可以从下方链接或阅读原文跳转GitHub噢,记得star这个小伙伴

weixin_crawler github地址

https://github.com/wonderfulsuccess/weixin_crawler

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小詹学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档