基于 Selenium 的自动发微博脚本 (m.weibo.cn 版) - 在IDE中畅所欲言!
Hi!! 分享一个刚写的自动发微博的 Python 脚本!
以下是你可能需要一个在IDE上发微博的脚本的原因:
- 打开网页手动发微博太慢🙅♀️
- 开启网页容易影响代码专注力, 看见微博就想刷停不下来
- 让 IDE cover 程序员/媛们, 即使是工作中也可以在IDE中尽情输出! (毕竟,谁会想到你在 IDE 里发微博呢?😏)
目标很明确:
- 自动登录微博
- 填写微博内容!
- 上传图片(目前的版本只能上传一张图片)
- 选择微博可见性(有些内容
见不得人只想分享给特定的人😉) - 自动发布微博!
使用的工具和库:
- Python 3: 编程语言,简单易学,功能强大。
- Selenium: 一个自动化测试工具,可以模拟用户在浏览器中的操作。
- Pillow (PIL): 一个图像处理库,用来处理图片,比如从剪贴板读取图片。
- Beautiful Soup: 用于解析HTML网页, 辅助调试。
- Edge WebDriver: 微软 Edge 浏览器的驱动程序,用于控制 Edge 浏览器。
- send2trash: 将文件安全地移动到回收站.
核心代码 (GhostwriterWeibo_v2.py):
import time
from selenium import webdriver
from selenium.webdriver.edge.service import Service as EdgeService
from selenium.webdriver.edge.options import Options as EdgeOptions
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
import os
from PIL import ImageGrab, Image
import shutil
import send2trash
# ... (省略了部分函数)
def ghost_writer(driver, writer, onlyme=2, uppics=None):
"""填写微博文本, (可选)是否自己可见, (可选)上传图片, 自动发送微博"""
wait = WebDriverWait(driver, 10)
# 等待文本框可见
weibo_textarea = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, 'div > span > textarea')))
# 输入微博内容
weibo_textarea.send_keys(writer)
# 上传图片
if uppics:
file_input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, 'input[type="file"]')))
for path in uppics:


2170

被折叠的 条评论
为什么被折叠?



