西山小菜鸟之Scrapy学习笔记----(番外篇)微信公众号永久链接

前言

本文中如有错误请指正。本文学习了静觅的个人博客 https://cuiqingcai.com/4652.html

我说

前一阵子由于需要,要把从搜狗微信上爬下来的微信公众号文章的临时链接转变为永久链接。一直在网上百度,但天公不做美,一直找不到比较满意的方法。
在这里插入图片描述
通过百度我找到几种方法:

  • 使用微信客户端打开要转换的链接(通过聊天窗口把链接发出去),点击右上角的三点,弹框中的复制链接 即为永久链接。
    在这里插入图片描述
  • 通过微信公众平台,登录后点击素材管理,点击超链接。搜索要找的文章,点击进入,浏览器上方的链接就是永久链接。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 如第一条所在,在微信客户端打开临时链接的时候,通过软件抓包实现。(此处不再给出,大家可以自行百度。)
  • 上面的方法转十条八条的数据虽然不是问题,但是如果转换的数量过大,则会浪费很长的时候,也很麻烦,所以想通过写程序实现。下面为具体的实现过程。

分析

在上面提到的第二种方法中,通过查询微信号可以一次性查到该公众号的多篇文章。打开谷歌浏览器的开发者工具可以看到返回的数据 ,都是微信公众号文章的相关信息。所以我们可以模拟发送请求,批量得到链接,其中就是永久链接。
在这里插入图片描述
通过查看头部信息,最关键的两个关键字就是token和fakeid。其中,token是我们登录后的,每次登录都有一个唯一token;fakeid则是我们要查询的微信公众号的标识。token我们可以在登录后手动得到,登录我们的微信公众号后它是不变的,所以当前的关键就是获得每个被查询公众号的fakeid。
在这里插入图片描述
仔细查看Network可以找到某一网页,通过发送请求,会返回要查询公众号的fakeid。
在这里插入图片描述
在这里插入图片描述
代码如下:

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)

在这里插入图片描述
这次得到了fakeid ,哈哈,我们可以去获取公众号链接了。
接下来我们模拟 “分析”这个小标题下的第一张图片,发送链接。
在这里插入图片描述
我把程序输出的结果入到notepad++中,可以看到得到了多篇文章信息,当然包括微信公众号文章的永久链接。
在这里插入图片描述

结束语

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值