Cloudiver 发表于 2020-7-2 18:52

微博短链

## 生成微博短链

### 1 功能

- 利用微博评论将长地址转为微博短链
- 将博文下的长地址评论删除

### 2 截图

![](https://pic.rmb.bdstatic.com/bjh/d74dc0848b57e6d76a1d4e2bd31621d6.png)

### 3 实现方法

1. 自己发一条微博,并设置为仅自己可见。或者首页上随便找一条微博都行

2. 找到该博文的mid。F12打开开发者工具→勾选左上角`Preserve log`→点击评论,就可以看到需要的mid

   ![](https://pic.rmb.bdstatic.com/bjh/a19f8abe155f415ce4ab48fb63ba7c9d.png)

   ![](https://pic.rmb.bdstatic.com/bjh/38ab774a331348608eaa8acc8d569c99.png)

3. 微博Cookie。还是在开发者工具中找到Cookie, 只需要**`SUB`**, 有效时间为1年。

### 4 源码

```python
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` 文件。

```text
@echo off
python weibo.py
pause
```

python小白,写得不好的地方请批评。

chboy 发表于 2020-7-2 19:06

感谢发布原创作品,吾爱破解论坛因你更精彩!{:1_921:}

huomavip 发表于 2020-7-2 19:08

求php版本的谢谢各位大哥

李沐衡 发表于 2020-7-2 19:12

同楼上,求php+1

vethenc 发表于 2020-7-2 19:23


感谢发布原创作品,吾爱破解论坛因你更精彩!

Fengxiaoxiao 发表于 2020-7-2 19:23

好东西,感谢楼主。

xglys 发表于 2020-7-2 19:33

感谢楼主。

imhacker 发表于 2020-7-2 19:59

python 威武

550060345 发表于 2020-7-2 21:28

这个接口有频率限制吧

zucker 发表于 2020-7-3 10:15

关键是发链接到微博就可以生成,你做这个出来,只能让不晓得的人用
页: [1] 2
查看完整版本: 微博短链