|
1 năm trước cách đây | |
---|---|---|
.idea | 1 năm trước cách đây | |
dist | 1 năm trước cách đây | |
js | 1 năm trước cách đây | |
results | 1 năm trước cách đây | |
.gitignore | 1 năm trước cách đây | |
109.json | 1 năm trước cách đây | |
Dockerfile | 1 năm trước cách đây | |
LICENSE | 1 năm trước cách đây | |
README.md | 1 năm trước cách đây | |
api.py | 1 năm trước cách đây | |
apply.sh | 1 năm trước cách đây | |
aria2c.exe | 1 năm trước cách đây | |
browser.py | 1 năm trước cách đây | |
build.sh | 1 năm trước cách đây | |
douyin_spider.yml | 1 năm trước cách đây | |
exec.py | 1 năm trước cách đây | |
ico.ico | 1 năm trước cách đây | |
login.py | 1 năm trước cách đây | |
monitor.py | 1 năm trước cách đây | |
monitorStray.py | 1 năm trước cách đây | |
requirements.txt | 1 năm trước cách đây | |
run.sh | 1 năm trước cách đây | |
sources.list | 1 năm trước cách đây | |
spider.py | 1 năm trước cách đây | |
test.py | 1 năm trước cách đây | |
test1.py | 1 năm trước cách đây | |
zmysql.py | 1 năm trước cách đây |
本仓库为学习
playwright
爬虫、命令行调用Aria2
及FastAPI/AMIS/Eel
实现WEBUI
的案例,仅用于测试和学习研究,禁止用于商业用途或任何非法用途。任何用户直接或间接使用、传播本仓库内容时责任自负,本仓库的贡献者不对该等行为产生的任何后果负责。
如果相关方认为该项目的代码可能涉嫌侵犯其权利,请及时通知删除相关代码。
采集账号主页作品、喜欢作品、收藏作品、音乐原声作品、搜索作品、关注列表、粉丝列表、合集作品、单个作品
PS.
💡欢迎PR或建议
douyin
├─ dist # 编译输出目录
│ ├─ aria2c.exe # aria2下载器
│ ├─ douyin.exe # 主程序
│ └─ monitorStray.exe # 监控新作品
├─ results # 网页返回数据样板
├─ browser.py # 浏览器启闭
├─ api.py # 搭建API接口
├─ exec.py # 命令行解析
├─ ico.ico # 图标logo
├─ login.py # 登录
├─ monitor.py # 监控-命令行
├─ monitorStray.py # 监控-托盘图标
├─ README.md # 项目说明
├─ requirements.txt # 依赖库
├─ spider.py # 爬虫核心代码
└─ test.py # 随手测试代码
📍测试环境:
Win10/11 x64
+Python3.8/11
。📭功能未全部测试,有问题请提交issue,也可加Q群
738029092
反馈(请提供测试链接以便复现问题)🍔主程序
Windows只需下载 releases 或 dist
目录中的两个文件
⚠️ Linux或macOS请从官方地址下载对应的Aria2,然后运行源码或自行编译
在程序所在目录打开命令行输入命令,或者Windows系统可以直接双击打开douyin.exe后根据提示输入目标地址
🐔使用帮助
-u, --urls TEXT 账号/话题/音乐等URL或文件路径(文件内一行一个URL),可多次输入。采集本账号喜欢/
收藏/关注/粉丝时可空
-n, --num INTEGER 选填。最大采集数量,默认不限制
-g, --grab 选填。只采集信息,不下载作品
-d, --download 选填。不采集,直接下载之前采集过的配置文件,用于下载失败时重试
-l, --login 选填。指定是否登录,默认要登录,可避免一些风控,采集关注粉丝等信息时必须登录
-m, --mstoken 选填。指定是否在下载配置文件中设置UA及mstoken,默认不需要,出现下载0kb时尝试
使用此参数
-h, --headless 选填。指定是否使用headless模式(不显示浏览器界面),默认为True,出现问题时使
用此参数以便观察
-t, --type [post|like|music|search|follow|fans|collection|video|favorite|id]
选填。采集类型,支持[主页作品/喜欢/音乐/搜索/关注/粉丝/合集/单作品/收藏/抖音号
查信息],默认采集post作品,能够自动识别搜索/音乐/合集/单作品以及本账号的喜欢/收
藏。
-b, --browser [chrome|msedge|chrome-beta|msedge-beta|msedge-dev]
选填。浏览器类型,默认使用稳定版EDGE,可选[chrome/msedge]以及beta
或dev版本,如需使用Firefox或WebKit请自行修改browser文件
-p, --path TEXT 选填。下载文件夹,默认为[下载]
-pt, --pathtype [id|title] 选填。文件夹命名格式,默认为[type]_[id],可选[title](不需要主页作品增
量采集时建议填title,即使用[标题/昵称/关键词]来命名)
--help Show this message and exit.
🏀使用例子(在程序所在目录打开命令行)
# 采集本账号的喜欢
./douyin -t like
# 采集本账号的收藏
./douyin -t favorite
# 采集本账号的关注
./douyin -t follow
# 采集本账号的粉丝
./douyin -t fans
# 查询抖音号信息(可查精确粉丝数)
./douyin -t id -u xinhuashe
# 采集目标地址(主页)的全部作品
./douyin -u https://*/
./douyin -t post -u https://*/
# 采集目标地址(喜欢)的全部作品(需目标地址开放权限)
./douyin -u https://*/*?showTab=like
./douyin -t like -u https://*/
# 采集目标地址(音乐)的全部作品
./douyin -u https://*/
./douyin -t music -u https://*/
# 采集目标地址(搜索)的全部作品
./douyin -u 搜索关键字
./douyin -u https://*/
./douyin -t search -u https://*/
# 采集目标地址(合集)的全部作品
./douyin -u https://*/
./douyin -t collection -u https://*/
# 采集目标地址(关注)的全部信息
./douyin -t follow -u https://*/
# 采集目标地址(粉丝)的全部信息
./douyin -t fans -u https://*/
# 只采集目标信息,不下载
./douyin -g -u https://*/
# 直接下载采集过的目标地址(用于上次下载出错时)
./douyin -d -u https://*/
# 限制数量采集,只采集目标地址的5条结果
./douyin -n 5 -u https://*/
# 采集多个目标地址
./douyin -u https://*1/ -u https://*2/
# 采集文件[user.txt]中的多个目标地址
./douyin -u ./user.txt
# 指定不登录采集目标地址
./douyin -l -u https://*/
# 在下载配置文件中使用msToken参数(解决下载0kb问题)
./douyin -m -u https://*/
# 指定使用chrome采集
./douyin -b chrome -u https://*/
# 采集单个作品
./douyin -u id
./douyin -u https://*/
💡手动使用aria2c下载
aria2c -c --console-log-level warn -d ./下载目录 -i 生成的下载配置文件.txt
monitorStray.exe
文件url.txt
文件,一行一个主页链接monitorStray.exe
即可,托盘图标可以控制启停⚠️ Linux或macOS请直接运行
monitor.py
源码,或自行编译monitorStray.py
❗不能upx压缩,否则playwright无法启动
安装依赖
pip install -U -r ./requirements.txt
安装pyinstaller
pip install pyinstaller
设置环境变量(powershell)
$env:PLAYWRIGHT_BROWSERS_PATH="0"
安装Edge或者Chrome
playwright install msedge
playwright install chromium
打包EXE,图标可自行更换
编译主程序
pyinstaller -F ./exec.py -i ./ico.ico -n douyin
编译监控程序
# 命令行程序
pyinstaller -F ./monitor.py -i ./ico.ico
# 托盘程序
pyinstaller -w -F ./monitorStray.py -i ./ico.ico --add-data "ico.ico;."
⚠️截至目前
playwright
最新版,Windows编译时需自行修改playwright
源码才能隐藏命令行黑窗口,也就是在playwright/_impl/_transport.py
文件的create_subprocess_exec
函数中加上下面这行内容,或者直接使用1.29.0
版本的playwright
creationflags=134217728 if sys.platform == "win32" else 0,