长网址转微博短链
1 功能
- 利用微博评论将长地址转为微博短链
- 将博文下的长地址评论删除
2 截图
3 实现方法
-
自己发一条微博,并设置为仅自己可见。或者首页上随便找一条微博都行
-
找到该博文的mid。F12打开开发者工具→勾选左上角
Preserve log
→点击评论,就可以看到需要的mid -
微博Cookie。还是在开发者工具中找到Cookie, 只需要
SUB
, 有效时间为1年。
4 源码
import requests import urllib.parse import re """ 功能:利用微博评论功能生成短链,并删除微博下的评论信息 """ headers = { 'Cookie': 'SUB=你的cookie', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36', 'Referer': 'https://www.weibo.com', 'Content-Type': 'application/x-www-form-urlencoded' } def get_short_url(long_url): url = "https://www.weibo.com/aj/v6/comment/add" payload = urllib.parse.urlencode({ 'mid': '微博mid', 'content': long_url }) response = requests.post(url, headers=headers, data=payload) try: data = response.json()['data']['comment'] short_url = re.search(r'(https?)://t.cn/\w+', data).group(0) comment_id = re.findall(r'comment_id="(.+\d)"', data)[-1] # 评论id print('微博短链:' + short_url) # del_comment(comment_id) # 需要删除评论,可以取消该行注释 except: pass # 删除评论 def del_comment(comment_id): url = 'https://www.weibo.com/aj/comment/del' payload = urllib.parse.urlencode({ 'mid': '微博mid', 'cid': comment_id # 评论id }) response = requests.post(url, headers=headers, data=payload) try: if response.json()['code'] == '100000': print('评论已删除') except: pass if __name__ == '__main__': get_short_url(input('请输入长地址:'))
5 快捷处理
将 .py 文件放在桌面(或者其他位置),将如下代码保存为 .bat
文件。
@echo off python weibo.py pause
python小白,只是提供了个思路,当然你可以做成多线程多并发,至于怎么完善,你们自行发挥了