STM32F407驱动HC-SR501人体红外传感器的抗干扰工程实践
2026/9/16 5:29:51
Playwright 是一个强大的浏览器自动化工具,支持 Chromium、Firefox 和 WebKit。通过 Playwright 可以模拟用户操作,实现夸克网盘文件的自动化下载。
安装 Playwright Python 包:
pip install playwright playwright install创建持久化上下文保存登录状态,避免每次运行都需要重新登录:
from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch(headless=False) context = browser.new_context(storage_state="auth.json") page = context.new_page()手动登录后保存认证信息:
page.goto("https://pan.quark.cn/") input("请手动登录后按回车继续...") context.storage_state(path="auth.json")从分享链接中提取关键参数:
def parse_share_url(share_url): import re pattern = r"pan\.quark\.cn/s/([0-9a-f]+)(?:\?pwd=([a-zA-Z0-9]+))?" match = re.search(pattern, share_url) if not match: raise ValueError("无效的夸克分享链接") return match.group(1), match.group(2) if match.group(2) else None处理需要提取码的分享链接:
share_id, pwd = parse_share_url(share_url) page.goto(f"https://pan.quark.cn/s/{share_id}") if pwd: page.fill("input[placeholder='请输入提取码']", pwd) page.click("text=确定") page.wait_for_selector(".file-list") download_btn = page.query_selector("text=下载") download_btn.click()夸克网盘对大文件需要客户端下载,可通过拦截请求获取真实下载地址:
with page.expect_download() as download_info: download_btn.click() download = download_info.value print(f"下载路径: {download.path()}")from playwright.sync_api import sync_playwright import re def download_quark_file(share_url, headless=False): with sync_playwright() as p: browser = p.chromium.launch(headless=headless) context = browser.new_context(storage_state="auth.json") page = context.new_page() share_id, pwd = parse_share_url(share_url) page.goto(f"https://pan.quark.cn/s/{share_id}") if pwd: page.fill("input[placeholder='请输入提取码']", pwd) page.click("text=确定") page.wait_for_selector(".file-list") with page.expect_download() as download_info: page.click("text=下载") download = download_info.value print(f"文件已下载到: {download.path()}") browser.close()通过以上方法可以实现夸克网盘分享文件的自动化下载,包含登录态持久化和提取码处理功能。根据实际需求可以进一步扩展批量下载、进度监控等功能。