Dmhylib 是一个用于搜索动漫花园的 Python 库。它提供了一个 DmhySearch
类,可以用来搜索、选择和保存搜索结果。
可以通过 pip 安装:
pip install dmhylib
from dmhylib import DmhySearch
search = DmhySearch(parser='lxml', verify=True, timefmt='%Y/%m/%d %H:%M')
parser
: BeautifulSoup 解析器,默认为 'lxml'verify
: 是否验证 SSL 证书,默认为 Truetimefmt
: 时间格式,默认为 '%Y/%m/%d %H:%M'
search.search(keyword="关键词", sort_id=0, team_id=0, order='date-desc', proxies=None, system_proxy=False)
keyword
: 搜索关键词sort_id
: 排序 ID,默认为 0。可用的排序 ID 有: 0, 2, 31, 3, 41, 42, 4, 43, 44, 15, 6, 7, 9, 17, 18, 19, 20, 21, 12, 1team_id
: 团队 ID,默认为 0order
: 排序顺序,默认为 'date-desc'proxies
: 代理设置,默认为 Nonesystem_proxy
: 是否使用系统代理,默认为 False
search.select(num)
num
: 要选择的搜索结果的索引
search.size_format(unit='MB')
unit
: 目标单位,默认为 'MB'
将选中项的文件大小格式化为指定单位。
search.save_csv(filename)
filename
: 要保存的 CSV 文件路径
将选中的搜索结果保存到 CSV 文件中。
搜索后,可以通过以下属性访问结果:
search.sum
: 搜索结果总数search.times
: 发布时间列表search.titles
: 标题列表search.sizes
: 文件大小列表search.magnets
: 磁力链接列表
选择某个结果后,可以通过以下属性访问选中项:
search.time
: 选中项的发布时间search.title
: 选中项的标题search.size
: 选中项的文件大小search.magnet
: 选中项的磁力链接
from dmhylib import DmhySearch
# 创建搜索对象
search = DmhySearch()
# 执行搜索
search.search(keyword="我推的孩子")
# 选择第一个结果
search.select(0)
# 格式化文件大小为 GB
search.size_format(unit='GB')
# 保存到 CSV 文件
search.save_csv("results.csv")
- 在使用
select()
,size_format()
, 或save_csv()
方法之前,必须先调用search()
方法。 size_format()
和save_csv()
方法必须在select()
方法之后调用。
本库依赖于以下 Python 包:
- BeautifulSoup4
- lxml
- requests
- rich
Dmhylib 附赠了一个命令行界面,可以直接在终端中使用。
dmhysearch search -k <关键词> [选项]
-k
,--keyword
: (必需) 搜索关键词-s
,--sort-id
: (可选) 搜索分类ID-t
,--team-id
: (可选) 发布团队ID-o
,--order
: (可选) 排序方式
- 基本搜索:
dmhysearch search -k "我推的孩子"
- 使用特定分类ID搜索:
dmhysearch search -k "我推的孩子" -s 31
# "31"是指季度全集
- 指定团队ID和排序方式:
dmhysearch search -k "我推的孩子" -t 619 -o "date-desc"
# "619"是桜都字幕组
-
运行搜索命令后,程序会显示搜索结果列表,包括序号、标题和文件大小。
-
用户可以输入想要选择的项目的序号。
-
如果选择了有效的序号,程序会显示所选项目的标题和磁力链接。
-
输入 0 可以退出选择过程。
- 如果不确定可用的参数,可以参考 dmhy.org 的查询字符串。
要查看所有可用的命令和选项,可以运行:
dmhysearch --help
或者查看特定命令的帮助:
dmhysearch search --help
本项目使用 GPL-3.0 许可证