通过微信公众平台获取公众号文章

我之前自己维护了一个公众号,但因为个人关系很久没有更新了,今天上来缅怀一下,却偶然发现了一个获取微信公众号文章的方法。

之前获取方法有很多,通过搜狗、清博、网页端、客户端等等都还可以,这个可能并没有其他的优秀,但是操作简单,很容易理解。

so、 首先需要有一个微信公众平台的账号


微信公众平台:https://mp.weixin.qq.com/
在这里插入图片描述
登陆之后,进入首页,点击新建群发。

在这里插入图片描述
选择自建图文:
在这里插入图片描述
似乎像是公众号运营教学了
进入编辑页面之后,点击超链接
在这里插入图片描述


弹出选择框,我们在框中输入对应的公众号名字,即可出现对应的文章列表
在这里插入图片描述
是不是很惊奇,可以打开控制台,查看一下请求的接口

在这里插入图片描述
打开response,里面就是我们需要的文章链接
在这里插入图片描述
确定了数据以后,我们需要分析一下这个接口
感觉很简单,一个GET请求,携带一些参数。
在这里插入图片描述


fakeid是公众号的独有ID,所以想通过名字直接获取文章列表,还需要先获取一下fakeid。
当我们输入公众号名字后,点击搜索。可以看到触发了搜索接口,返回了fakeid。
在这里插入图片描述
这个接口所需参数也不多。
在这里插入图片描述
接下来,我们可以用代码来模拟以上的操作了。

但是还需要使用现有Cookie避免登陆。

在这里插入图片描述
目前Cookie的有效期,我还没有测试。可能需要及时更新Cookie。


测试代码:


import requests
import json

Cookie = '请换上自己的Cookie,获取方法:直接复制下来'
url = "https://mp.weixin.qq.com/cgi-bin/appmsg"
headers = {
  "Cookie": Cookie,        
  "User-Agent": 'Mozilla/5.0 (Linux; Android 10; YAL-AL00 Build/HUAWEIYAL-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.64 HuaweiBrowser/10.0.1.335 Mobile Safari/537.36'
    }

keyword = 'pythonlx'      # 公众号名字:可自定义
token = '你的token'        # 获取方法:如上述 直接复制下来
search_url = 'https://mp.weixin.qq.com/cgi-bin/searchbiz?action=search_biz&begin=0&count=5&query={}&token={}&lang=zh_CN&f=json&ajax=1'.format(keyword,token)

doc = requests.get(search_url,headers=headers).text
jstext = json.loads(doc)
fakeid = jstext['list'][0]['fakeid']

data = {
    "token": token,
    "lang": "zh_CN",
    "f": "json",
    "ajax": "1",
    "action": "list_ex",
    "begin": 0,
    "count": "5",
    "query": "",
    "fakeid": fakeid,
    "type": "9",
    }
json_test = requests.get(url, headers=headers, params=data).text
json_test = json.loads(json_test)
print(json_test)

这样就能获取最新的10篇文章了,如果想要获取更多的历史文章,可以修改data中的"begin"参数,0是第一页,5是第二页,10是第三页(以此类推)

但是如果想要大规模抓取的话:
请给自己安排一个稳定的代理,降低爬虫的速度,准备多个账号,来减少被封禁的可能性。

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

考古学家lx(李玺)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值