querylist采集微信公众号文章(一个获取微信公众号文章的方法,你知道吗?)
优采云 发布时间: 2021-12-18 01:17querylist采集微信公众号文章(一个获取微信公众号文章的方法,你知道吗?)
之前是自己维护一个公众号,但是因为个人关系好久没有更新,今天上来想起来,却偶然发现了微信公众号文章的获取方式。
之前的获取方式有很多,通过搜狗、清博、web、客户端等都可以,这个可能不太好,但是操作简单易懂。
所以。首先,您需要在微信公众平台上有一个账号
微信公众平台:
登录后,进入首页,点击新建群发。
选择自创图形:
好像是公众号操作教学
进入编辑页面后,点击超链接
弹出一个选择框,我们在框中输入对应的公众号名称,就会出现对应的文章列表
你惊喜吗?您可以打开控制台并检查请求的界面
打开回复,里面有我们需要的文章链接
确认数据后,我们需要对这个界面进行分析。
感觉非常简单。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篇文章。如果想获取更多历史记录文章,可以修改数据中的“begin”参数,0为第一页,5为第二页,10为第三页(以此类推)
但是如果你想*敏*感*词*爬行:
请自己安排一个稳定的代理,降低爬虫速度,准备多个账号,减少被屏蔽的可能性。