# 前言
最近开始关注微博超话,发现每天签到非常麻烦。于是就利用 GPT-4 写了一个 Python 脚本来自动签到微博超话。
这个脚本可以自动遍历多个超话,并对每个超话进行签到操作。在签到之间添加随机等待时间,以避免触发微博的反作弊机制。
# 使用方法
- 首先,你需要在浏览器中登录微博,并获取到你的登录 cookies。可以通过在浏览器中按 F12 打开开发者工具,然后在 Network 选项卡中找到你的微博页面请求,复制其中的 cookies。
Cookie 中含有你的账号信息,谨慎保存!本网站不对此负责,Cookie 有效期因人而异。
- 在脚本中修改
cookies
变量,将其设置为你的登录 cookies。
这里以 Chrome 为例:F12-> 在顶部找到 Application-> 在左侧找到 Storage-> 点击 Cookies-> 找到 Name 为 SUB 的选项并双击,复制右侧 Value 栏目当中的 Cookies
- 在
super_topic_active_ids
列表中添加你想签到的超话active_id
。
如果超话链接为 https://weibo.com/p/1008080d055beb31fd94ce0399a1981d82afc5/super_index
那么 active_id
则为 1008080d055beb31fd94ce0399a1981d82afc5
。
- 运行脚本即可自动签到。
import json | |
import random | |
import re | |
import requests | |
import time | |
# 在脚本开始时等待 0 到 7200 秒 (0 到 2 小时) | |
sleep_time = random.randint(0, 7200) | |
time.sleep(sleep_time) | |
# 配置 headers 和 cookies | |
headers = { | |
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134", | |
"Referer": "https://weibo.com/" | |
} | |
cookies = { | |
"SUB": "你的Cookies" | |
} | |
def random_wait(min_wait=5, max_wait=15): | |
wait_time = random.randint(min_wait, max_wait) | |
time.sleep(wait_time) | |
def check_in(cookies, url): | |
session = requests.Session() | |
session.cookies.update(cookies) | |
response = session.get(url, headers=headers) | |
active_id = "1008080d055beb31fd94ce0399a1981d82afc5" | |
print(f"找到 active_id: {active_id}") | |
# 在这里处理 active_id | |
checkin_url = f"https://weibo.com/p/aj/general/button?id={active_id}&api=http://i.huati.weibo.com/aj/super/checkin" | |
checkin_response = session.get(checkin_url, headers=headers) | |
checkin_result = json.loads(checkin_response.text) | |
if checkin_result["code"] == 382004: | |
print("签到成功:今天已签到") | |
else: | |
print("签到结果:", checkin_result) | |
if __name__ == "__main__": | |
print("Running Weibo check-in script...") | |
super_topic_active_ids = [ | |
"1008080d055beb31fd94ce0399a1981d82afc5", | |
"1008084b3f3945e087a0dd32f56c3603b7d153", | |
# 添加更多超话 active_id | |
] | |
for active_id in super_topic_active_ids: | |
url = f"https://weibo.com/p/{active_id}" | |
check_in(cookies, url) | |
random_wait() # 在签到之间添加随机等待时间 | |
print("Script finished.") |
# 部署到云服务器进行定时运行
1. 打开终端,输入 crontab -e
命令。这将打开一个编辑器,您可以在其中编辑自己的 cron
任务。
2. 在编辑器中,您需要按照以下格式添加一行:
分钟 小时 日 月 周几 命令 |
例如,要在每天的凌晨 1 点自动运行脚本,您可以添加如下行:
0 1 * * * /usr/bin/python3 /path/to/your/weibo_checkin.py |
这意味着在每天凌晨 1 点(小时为 1,分钟为 0) cron
会执行 /usr/bin/python3 /path/to/your/weibo_checkin.py
命令。请确保将 /path/to/your/weibo_checkin.py
替换为您的脚本实际路径。
3. 保存文件并退出编辑器。现在, cron
已经设置好了,它会在指定的时间自动运行您的签到脚本。
请注意,这个示例假设您的 Python 3 解释器位于 /usr/bin/python3
。根据您的系统,这个路径可能有所不同。要找到 Python 3 解释器的确切路径,您可以在终端中运行 which python3
命令。
# 总结
这个脚本可以自动签到多个微博超话,并且添加了随机等待时间来避免触发反作弊机制。如果你也经常签到微博超话,那么可以尝试使用这个脚本来自动化这个过程。但是还是存在账号被风控的风险,还是那句话,用就别怕,怕就别用!