python爬虫爬取微信公众号的阅读数、喜爱数、文章标题和链接等信息

爬虫的步骤:
(1)申请自己的公众号
(2)使用fiddler抓包工具
(3)pycharm
(一)申请公众号
官网:微信公众平台
填入相关信息创建微信公众号
进入公众号界面如下:
在这里插入图片描述
找到新的创作-图文信息
在这里插入图片描述
在这里插入图片描述
在弹出的界面中查找公众号文章-输入公众号名称-确定
在这里插入图片描述
在这里插入图片描述
点击确认之后,进入公众号,可以查看相应文章。
在这里插入图片描述
右键单击空白处,选择检查-网络,显示界面如下:
在这里插入图片描述

在请求标头中获取cookieuser-agent
在这里插入图片描述
在这里插入图片描述

同时还需要获取Fakeidtoken
fakeid:是公众号独一无二的一个id
token:是自己的公众号独有的id

以上已经获取到了电脑端需要的4个重要参数:
Cookies、user-Agent 、fakeid 、token
爬取点赞数和阅读数:
在之前查找公众号的文章时,可以在相应信息中查找到文章的相关信息:
在这里插入图片描述
观察这些信息,可以在信息中找到公众号的文章标题,文章对应的链接
在这里插入图片描述
将文章链接复制到浏览器中,可以看到对应的公众号文章:
在这里插入图片描述
得到文章的链接之后,需要从链接中找到pass_ticket 、 appmsg_tojen 、 cookies 、user-Agent 、key。
通过fiddler抓包,得到这些参数
打开fiddler,选择过滤器
在这里插入图片描述
设置以下参数,点击action,设定只抓取关于微信公众相关的包
在这里插入图片描述
之后进入自己的微信客户端-选择公众号-查看历史信息-点开公众号的文章。
这时可以看到fiddler中出现一系列的包,依次点击抓取的包,在inspectors中查看以下信息,获取 pc微信端cookie 和user-agent
在这里插入图片描述
切换点击界面,可以看到如下信息:
在这里插入图片描述
可以从上面的界面中找到需要保存的参数:

更换公众号爬虫只需要更换PC微信的Key、 pass_ticket、 appmsg_tojen以及公众号的Fakeid。对某一公众号爬虫时,KEY大约20-30分钟会失效。可以再次打开fiddler重新进行获取。

贴一下我的代码:

# -*- coding: utf-8 -*-
import requests
import time
import json
from openpyxl import Workbook
import random

# 目标url
url = "https://mp.weixin.qq.com/cgi-bin/appmsg"

Cookie = "自己的cookies"
# 使用Cookie,跳过登陆操作
headers = {
   
    "Cookie": Cookie,
    "User-Agent": "自己的user-agent",
}

"""
需要提交的data
以下个别字段是否一定需要还未验证。
注意修改yourtoken,number
number表示从第number页开始爬取,为5的倍数,从0开始。如0、5、10……
token可以使用Chrome自带的工具进行获取
fakeid是公众号独一无二的一个id,等同于后面的__biz
"""
token = "自己公众号的token"#公众号
fakeid = "Mzk0NzI5NDc5MA%3D%3D"#公众号对应的id
type = '9'
#爬虫网址中的参数
data1 = {
   
    "token": token,
    "lang": "zh_CN",
    "f": "json",
    "ajax": "1",
    "action": "list_ex",
    "begin": "0",
    "count": 
  • 22
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
根据提供的引用内容,我们可以得知微信公众号的阅读数是通过抓文章的url链来获的。因此,我们可以使用Python爬虫来实现这个功能。具体步骤如下: 1. 首先需要安装requests和BeautifulSoup库,可以使用以下命令进行安装: ```shell pip install requests pip install beautifulsoup4 ``` 2. 着,我们需要获微信公众文章的url链。可以通过在微信公众号平台上手动获,或者使用Python爬虫自动获。 3. 获文章的url链后,我们可以使用requests库发送GET请求获文章的HTML源代码。 4. 使用BeautifulSoup库解析HTML源代码,找到包含阅读数的标签,并提阅读数。 5. 最后,将提出的阅读数进行输出即可。 下面是一个示例代码,可以获指定微信公众号最新一篇文章阅读数: ```python import requests from bs4 import BeautifulSoup # 公众号名称 name = '公众号名称' # 公众文章页数 page = 1 # 构造请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 获指定公众号最新一篇文章的url链 url = 'https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=' + biz + '&scene=124&uin=&key=&devicetype=Windows+10&version=62080079&lang=zh_CN&a8scene=0&fontgear=2' # 发送GET请求获HTML源代码 response = requests.get(url, headers=headers) html = response.text # 使用BeautifulSoup解析HTML源代码 soup = BeautifulSoup(html, 'html.parser') read_num = soup.find('span', {'class': 'read_num'}).get_text() # 输出阅读数 print('最新一篇文章阅读数为:' + read_num) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值