找回密码
 立即注册
首页 业界区 安全 基于微信公众号API的微信公众号爬虫

基于微信公众号API的微信公众号爬虫

彼瞄 2025-6-1 18:16:06
爬取微信公众号文章网上有两种思路,一种是基于搜狗搜索,但是这种我发现有个问题,因为它是根据搜索词的,所以你没办法指定搜索的结果只是某个公众号的,而且更大的问题是,它不是按时间排序的,所以你如果是想爬最新的就会很麻烦。而基于微信公众号API的方式就很好弥补了这种缺陷,但是它同时有一个问题,就是它需要的东西有一定门槛,对于没有计算机基础知识的人来说使用起来比较麻烦。
前期准备


  • 登录微信公众号
  • 在新建一个文本的时候,点击超链接选项,
  • 打开F12进入调试模式, 弹出的东西叫工作台。
  • 在弹出页面中账号选择其他账号,输入想查询的公众号,点击查询后,会出现这个公众号近期的文章。
  • 在工作台上面找到network或者网络,点击Fetch/XHR询找一个名字开头appmsgpublish的文件,然后点开。
  • 在header找到一个叫cookie的字段,复制旁边的值;在payload里面找到fakeid和token
调用API
  1. url = "https://mp.weixin.qq.com/cgi-bin/appmsg"
  2. cookie = "" # 你的cookie
  3. fakeid = "" # 你想爬的公众号的fakeid
  4. token = "" # 你获取的token
  5. # 构造头文件,把之前获得到的cookie放进去
  6. headers = {
  7.   "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
  8.   "Referer": "https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit&action=list&type=10&isMul=1&isNew=1&lang=zh_CN",
  9.   "Cookie": cookie,
  10.   "X-Requested-With": "XMLHttpRequest"
  11. }
  12. # 构造参数,把fakeid和token放进去
  13. params = {
  14.   "token": token,
  15.   "lang": "zh_CN",
  16.   "f": "json",
  17.   "ajax": "1",
  18.   "action": "list_ex",
  19.   "begin": "0",  # 如果想遍历,就以5为频数是调这个值
  20.   "count": "5",
  21.   "query": "",
  22.   "fakeid": fakeid, # 想查询的公众号
  23.   "type": "9",
  24.   }
  25. # 调用
  26. content_json = requests.post(url, headers=headers, params=params).json()  # 调用完以后就可以得到对应公众号的文章
复制代码
调用完以后,就可以通过遍历解析这个json,主要是拿到标题和url,拿到url你可以再去爬点赞数这些具体数值。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册