通过微信公众平台获取官方帐户文章
优采云 发布时间: 2020-08-08 10:12
选择自己创建的图形:
好像是公共帐户操作教学
进入编辑页面后,单击超链接
弹出一个选择框,我们在框中输入相应的正式帐户名称,并出现相应的商品列表
您感到惊讶吗?您可以打开控制台并检查请求的界面
打开回复,有我们需要的文章链接
确认数据后,我们需要分析此界面.
感觉很简单. GET请求带有一些参数.
Fakeid是官方帐户的唯一ID,因此,如果要直接按名称获取商品列表,则需要先获取伪造品.
当我们输入官方帐户名时,单击“搜索”. 您会看到搜索界面已触发,并返回了伪造品.
此界面不需要很多参数.
接下来,我们可以使用代码来模拟上述操作.
但是您还需要使用现有的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篇文章. 如果要获取更多历史文章,可以修改数据中的“ begin”参数,0为第一页,5为第二页,10为第三页(依此类推)
但是,如果您想进行*敏*感*词*爬网:
请为您自己安排稳定的代理商,降低爬虫速度,并准备多个帐户以减少被阻止的可能性.