通过微信公众平台获取公众号文章的方式示例

优采云 发布时间: 2020-08-25 02:04

  通过微信公众平台获取公众号文章的方式示例

  

  选择自建图文:

  

  似乎象是公众号营运教学了

  进入编辑页面以后,点击超链接

  

  弹出选择框,我们在框中输入对应的公众号名子,即可出现对应的文章列表

  

  是不是太惊奇,可以打开控制台,查看一下恳求的插口

  

  打开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是第三页(以此类推)

  但是若果想要*敏*感*词*抓取的话:

  请给自己安排一个稳定的代理,降低爬虫的速率,准备多个帐号,来降低被封禁的可能性。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线