开源Python项目:牛逼的公众号文章爬虫

时间: 作者: 点击量:

我订阅了近100个公众号,有时候想再找之前读过的文章,发现搜索起来特别困难,如果忘了收藏,估计得找半小时,更容易无语的是,文章已经发布者删除,否则有没有这样的爬虫,可以将公众号的文章全部爬到本地,并提供便捷的搜索功能,这样当我想查找某类文章的时候会非常方便,同时文章都在本地,也不用担心被人删除。

最近正好看到一个开源Python爬虫项目,牛逼的就是爬取微信公众号的文章的,看了一下功能介绍,真是想见恨晚啊,作者水平真的是牛逼,我已经献出了自己的崇拜,特分享出来,你可以使用它的功能,也可以研究它的技术,请拿走不谢。访问项目地址,相信你完全有独立部署的能力。

项目地址:
https //github.com/wonderfulsuccess/weixin_crawler

功能展示

UI主界面

分享一个牛逼的Python项目:公众号文章爬虫

爬虫主界面.gif

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

分享一个牛逼的Python项目:公众号文章爬虫

公众号.png

爬虫界面

分享一个牛逼的Python项目:公众号文章爬虫

 

设置界面

分享一个牛逼的Python项目:公众号文章爬虫

设置.png

公众号历史文章列表

分享一个牛逼的Python项目:公众号文章爬虫

历史文章列表.gif

报告

分享一个牛逼的Python项目:公众号文章爬虫

报告.gif

搜寻

分享一个牛逼的Python项目:公众号文章爬虫

搜索.gif

简介

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

weixin_crawler尚处于维护之中,方案有效,请放心尝试。

免部署立即体验公众号数据采集

通过免安装程序WCplus.exe
https://shimo.im/docs/E1IjqOy2cYkPRlZd可立即体验weixin_crawler的数据采集功,导出Excel和PDF功能。

主要特点

  1. 使用Python3
    编写使用Python3
  2. 爬虫框架为Scrapy并且实际用到了Scrapy的诸多特性,是深入学习Scrapy的不错开源项目
    充分利用scrapy的,如果你与scrapy挣扎此回购有助于火花
  3. 功能强大实用,是新媒体运营等职位不错的数据助手
    Flask,Flask-socketio,Vue用于构建全栈项目搜寻器
  4. 得益于Scrapy,MongoDB,Elasticsearch的使用,数据爬取,存储,索引均简单高效
    得益于可爬的mongodb elasticsearch weixin_crawler不仅是搜寻器,而且还是搜索引擎
  5. 支持微信公众号的全部历史发文爬取
    能够抓取任何微信公众号的所有历史文章
  6. 支持微信公众号文章的阅读量,点赞量,赞赏量,评论量等数据的爬取
    能够抓取读取数据
  7. 自带面向公众公众号的数据分析报告
    基于sigle官方帐户发布了报告模块
  8. 利用Elasticsearch实现了全文检索,支持多种搜索和模式和排序模式,针对搜索结果提供了趋势分析图表
    ,也是一个搜索引擎
  9. 支持对公众号进行分组,可利用
    分组数据限定搜索范围
  10. 原创手机自动化操作方法,可实现爬虫无人监管
    蒙山亚洲开发银行的帮助下,weixin_crawler能够自动opereate Android手机,它可以工作,其手段没有任何人监视
  11. 支持多微信APP同时采集,理论上采集速度可线性增加,支持多种微信应用,线性
    提高爬行速度

使用到的主要工具

语言Python3.6前端web框架Flask / Flask-socketio / gevent js / css库Vue / Jquery / W3css / Echarts / Front-awsome前端爬虫Scrapy存储Mongodb / Redis索引Elasticsearch

运行方法

weixin_crawler已经在Win / Mac / Linux系统下运行成功,建议优先使用win系统尝试weixin_crawler可以在win / mac / linux上运行,尽管建议先尝试在win os上运行

Insatall mongodb / redis / elasticsearch并在后台运行它们

从其官方网站下载mongodb / redis / elasticsearch并安装它们

在默认配置下同时运行它们。在这种情况下,mongodb是localhost:27017 redis是localhost:6379(或者您必须在weixin_crawler / project / configs / auth.py中进行配置)

为了标记中文,必须为Elasticsearch安装elasticsearch-analysis-ik

安装代理服务器并运行proxy.js

安装nodejs,然后npm在weixin_crawler / proxy中安装anyproxy和redis

cd到weixin_crawler / proxy并运行节点proxy.js

在计算机和电话端都安装anyproxy https CA

如果您不确定如何使用anyproxy,请参阅以下文档

安装所需的python软件包

注意:您可能不能简单地键入pip install -r requirements.txt来安装每个软件包,scrapy需要使用其中之一来扭转它。当您遇到有关安装python软件包(例如,扭曲的)的问题时,这里总有一个解决方案-将正确版本的软件包下载到驱动器中,然后运行$ pip install package_name

我不确定您的python环境是否会引发其他未找到的软件包错误,只需安装所需的任何软件包

某些源代码必须进行修改(可能不合理)

scrapy Python36 \ Lib \ site-packages \ scrapy \ http \ request \ _init_.py-> weixin_crawler \ source_code \ request \ _init_.py

scrapy Python36 \ Lib \ site-packages \ scrapy \ http \ response \ _init_.py-> weixin_crawler \ source_code \ response \ _init_.py

pyecharts Python36 \ Lib \ site-packages \ pyecharts \ base.py-> weixin_crawler \ source_code \ base.py。在这种情况下,在第106行中添加了功能get_echarts_options

如果您希望weixin_crawler自动工作,那么这些步骤是必需的,或者您应该操作手机以获取将由Anyproxy手册检测到的请求数据。

安装adb并将其添加到您的路径(例如Windows)

安装android模拟器(建议使用NOX)或插入手机,并确保可以使用命令行工具中的abd操作它们

如果多个电话连接到您的计算机,则必须找出它们的adb端口,这些端口将用于添加搜寻器

adb不支持中文输入,这对于微信官方帐户搜索是个坏消息。为了输入中文,必须在您的android手机中安装adb键盘并将其设置为默认输入法,更多内容请点击这里

为什么weixin_crawler会自动工作?原因如下:

如果您想抓取一个微信官方账号,您必须在手机中搜索该账号,然后点击其“全部消息”,便会得到一条消息列表,如果您向下滚动,则会加载更多列表。如果您要抓取该帐户的阅读数据,则可以使用列表中的任何消息进行录音。如果给了一个微信官方帐户的昵称,那么wexin_crawler会操作手机中安装的微信应用程序,同时anyproxy正在“监听背景” '...无论如何,weixin_crawler都会获取微信应用程序请求的所有请求数据,那么这就是抓取的显示时间。正如您所想的,为了让weixin_crawler操作微信应用程序,我们必须告诉adb单击交换和输入的位置,大部分它们在
weixin_crawler / project / phone_operate / config.py。BTW phone_operate就像人类一样负责微信的操作,其眼睛是百度OCR API和预定义的位置点击区域,其手指是adb运行main.py

$ cd weixin_crawler / project /

$ python(3)./main.py

现在打开浏览器,您想要的所有内容都将位于localhost:5000中。

在这份冗长的清单中,您可能会陷入困境,加入我们的社区寻求帮助,告诉我们您做了什么以及发现了哪种错误。

让我们一起探索localhost:5000中的世界

上一篇:电商系统架构全链路解析

下一篇:springboot + rabbitmq 做智能家居

注册体验: