把微信公众号的临时链接转换为永久链接
本文中如有错误请指正。
前一阵子由于需要,要把从搜狗微信上爬下来的微信公众号文章的临时链接转变为永久链接。一直在网上百度,但天公不做美,一直找不到比较满意的方法。

- 使用微信客户端打开要转换的链接(通过聊天窗口把链接发出去),点击右上角的三点,弹框中的复制链接 即为永久链接。
- 通过微信公众平台,登录后点击素材管理,点击超链接。搜索要找的文章,点击进入,浏览器上方的链接就是永久链接。
- 如第一条所在,在微信客户端打开临时链接的时候,通过软件抓包实现。(此处不再给出,大家可以自行百度。)
- 上面的方法转十条八条的数据虽然不是问题,但是如果转换的数量过大,则会浪费很长的时候,也很麻烦,所以想通过写程序实现。下面为具体的实现过程。
在上面提到的第二种方法中,通过查询微信号可以一次性查到该公众号的多篇文章。打开谷歌浏览器的开发者工具可以看到返回的数据 ,都是微信公众号文章的相关信息。所以我们可以模拟发送请求,批量得到链接,其中就是永久链接。




import requests
import random
link = 'https://mp.weixin.qq.com/cgi-bin/searchbiz?'
query_id = {'action': 'search_biz','token': '(登录后和cookie一块获取)','lang': 'zh_CN','f': 'json','ajax': '1','random': random.random(),'query': '(微信公众号)','begin:' 0','count': '5'}
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
cookie = {自己放一个吧,哈哈}
response = requests.get(url,headers=header,params=query_id,cookies=cookie)
print(response.text)


查找资料时看到了一些说法,token信息是和微信公众号相关的,但是过于频繁的访问是有可能封号的,所以谨慎啊。




