这个需要有微信公众号,个人订阅号也是可以的

微信公众号地址:https://mp.weixin.qq.com/

首先,抓取的是公众号的内容,我也就找了一个直接分享图片的公众号:每日60s简报(dailybriefing60s),也是很稳定的每天都会在0点左右就会推送当天简报

先登陆你的公众号,因为我们要获取一些你的cookie以及token

登陆后F12查看请求

红框除就是cookie以及token,只需要粘贴在python文件里面对应的位置就行

import os
import requests
import json
from bs4 import BeautifulSoup

Cookie = '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'
  }

ID = '每日60s简报'  #公众号的名字
token = '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(ID,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) # 获取到公众号最新的10篇文章
page = json_test["app_msg_list"]
page = page[0]['link']  # 分析json ,他的文章链接再link里面
html = requests.get(page)
text_obj = BeautifulSoup(html.text,'lxml')
script= text_obj.find_all('script')[24]
cdn_url = re.findall(r'cdn_url:\s*\'(.*?)\'',script.text,re.S)[0]
print(cdn_url)

PS:目前cookie和token有访问限制频率,应该是达到多少次之后会被封禁,目前还不知道第二天会不会解除

最后修改:2023 年 05 月 15 日
如果觉得我的文章对你有用,请随意赞赏