微信爬取公众号评论

35 篇文章 1 订阅
14 篇文章 0 订阅

大家平常都喜欢看公众号的文章,但是仅仅是文章内容又不足以使我们更好的参与与作者的互动,于是我找了一篇公众号的最新文章评论进行爬取分析。
这是效果图:
词云图

结尾有彩蛋欧…

废话不多说,现在开始跟我来实现这个充满黑科技的词云图把!!!
源代码下载链接

环境

首先我利用的是Python的requests库来模拟请求,如果没有下载的同学就请打开cmd,如果你已经对Anaconda配置过环境变量了,就直接输入以下命令:
pip install requests
这里写图片描述
现在我们开始来准备编写代码
我们打开Jupyter Notebook
Ps:当然你也可以用Spyder,如何使用请看我上面的那篇Anaconda的安装博客

在你配置了Anaconda的环境变量的前提下,你打开cmd,在命令框中输入命令
jupyter notebook
就会运行如图所示:
jupyter notebook
然后就会自动打开一个浏览器页面,如图所示:
首页
每个人的默认工作路径是C盘的用户目录下
然后新建一个文件(点击右上角的New后选择Python3)
新建
创建成功后进入如图所示:
这里写图片描述
现在我们就开始码代码啦
首先我们要导入我们所需要用到的库
1
第二步就是通过抓包工具分析公众号评论的请求链接(url)和请求头(headers)
这里我使用的是Fiddler工具,具体安装使用请参考我的另一篇博客Fiddler的安装与使用

我们在配置好Fiddler后打开手机微信,找到你所想要的文章并打开,这里我显示的是我所分析的那一篇推文
然后你就首先根据Host查找到属于微信的mp.weixin.qq.com这个主机所对应的一系列请求
一个一个点开(因为第一次分析你也不知道哪个请求对应的是评论)然后思路是找到响应内容最多的那个。
经过漫长的寻找我们找到了这个请求(抓包是一个很繁琐的过程,因为你需要准确定位到你所需要查找的那个请求,所以大家在学习的过程中需要耐心一点)
抓包
还有如果你得到的响应内容是乱码,那么你需选中你找到的那个请求右键选择Decode…
decode
这样就解码成功啦
当然不要高兴的太早,在这里你还需要将这个请求的url和headers复制到粘贴板中,因为我们的代码需要它们。

首先我们来看一下requests库里面的get方法

requests.get(url, params=None, **kwargs)

从表达式这里看出url是必须要有的,还有其它的比较重要的参数例如headerstimeout
将我们粘贴板中的url和headers复制到代码中,如图
url
这里写图片描述
链接(url)直接复制上去赋值给url就行了,但是headers需要做一下进一步的处理,这里我就不解释里面各参数的含义了,经测试发现只有Cookie是需要加上去的,连User-Agent都不用,这里我解释一下为什么,因为这里我们其实访问的是一个评论接口,而接口一般对爬虫的UA是没有做反爬处理的,所以最后我们保留Cookie一行加进headers字典里面就行了。
这里写图片描述
然后第一个难点抓包(分析请求)搞定了,接下的难点来就是处理响应内容了。
当然首先我们向服务器发出请求
发出请求
最终我们得到了一个字典类型的数据,然后我们观察一下字典的结构
结构
得到大概结构以后我们来迭代输出每一行评论信息,并把评论内容存储到字符串里面(倒数第一行代码是在做结巴分词,后面那个参数5指的是返回切分后权重值最高的5个词组)

这里看起来是比较繁琐,其实就是根据列表字典结构的特性根据索引或者关键字来取值,这一步最关键的是要理清返回内容的结构结巴分词只是调用api而已。
解析
词组
看到了排列整齐的评论,你离成功只差个词云图,接下来就是词云图的制作,这里主要用了
词云库:wordcloud
画图的库:matplotlib.pyplot
如果你没有安装wordcloud库,建议去官网下载wordcloud的whl文件本地安装(踩过的坑,默默不说话)
代码如下:
词云
大概讲一下流程,先读取背景图片1.png,然后通过WordCloud来设置相应的参数。
这里注意一点,因为WordCloud里面默认的语言是英语,所以你需要往里面加载一个简体中文的字体,一般Windows10自带的有的,你文件搜索一下,改一下路径,如果没找到就去网上下载一个。

接着读取字符串Comments(已经分词过了),为了以后方便查看把图片存储下来。

最后就是画图了,其实你不画找到存好的文件打开也是可以的,但是程序员能这样吗!!!
不能,能用代码实现的我就不用其他方法。
这里我们用的是数据分析流行的画图库matplotlib
将wc传进去imshow方法,设定一下插值的参数为bilinear
设置off参数不显示难看的坐标轴
最后大功告成,你也做了一张充满黑科技感的词云图啦。
这里写图片描述
是不是在找彩蛋在哪,不要慌,就是下面那狗,皮一下。
巴扎黑

我的个人博客网站是:www.coderyyn.cn
上面会不定期分享有关爬虫、算法、环境搭建以及有趣的帖子
欢迎大家一起交流学习

转载请注明

Python可以用于爬取微信公众号的文章。有几种方式可以实现这一目标,其中一种方式是通过登录微信公众号平台,在里面搜索要爬取公众号,然后进行抓包。另外一种方式是使用安卓模拟器进行抓包。还可以使用搜狗的微信模块来获取数据。 在使用第一种方式时,首先需要拥有一个微信公众号的账号。然后,通过工具如pycharm和fiddler等,登录微信公众号平台,进入创作管理,选择图文素材,然后创建或编辑文章。最后,通过添加引用和查找公众号文章等步骤,进行数据的爬取和收集。 在实现这些步骤之前,你需要了解微信公众号平台的主要功能和界面布局。主面板可以划分为七大块,每个块都有不同的功能。在后续的操作中,你可以使用Python代码来模拟微信请求,并实现数据的爬取和分析。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [欢度国庆⭐️共享爬虫之美⭐️基于 Python 实现微信公众号爬虫(Python无所不能爬)](https://blog.csdn.net/xiejiachao/article/details/120573509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [【爬虫】python爬取微信公众号](https://blog.csdn.net/qq_36269293/article/details/109244944)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值