用于 Libgen.rs 的异步 python 库
项目描述
自由发生
Libgen.rs 用于搜索和下载书籍的异步 python 库。
Bookdlbot异步电报机器人利用这个库
安装 libgenesis
使用命令行
pip install libgenesis
导入 libgenesis
from libgenesis import Libgen
创建 libgenesis 对象
lg = Libgen()
或者
lg = Libgen(sort= 'year', sort_mode= 'ASC', result_limit= '50')
创建 LibGen 实例时,可以设置 3 个选项。
- sort:您可以使用它从允许的字段('id','author','title','publisher','year','pages','language','size','extension'中选择排序方法)。默认为“定义”。
- sort_mode:选择升序或降序的排序顺序('ASC','DESC')。默认为“DESC”。
- result_limit:根据允许的限制(25、50、100)限制结果的数量。默认为 25。
寻找一本书
async def search():
q = 'japan history'
result = await lg.search(q)
for item in result:
print('id = ' + item)
print('title = ' + result[item]['title'])
print('md5 = ' + result[item]['md5'])
返回的数据是这样的:(dict键是书的Libgen id)
{
'881061':{
'title': 'The Japanese Experience: A Short History of Japan (History of Civilisation)',
'volumeinfo': '',
'series': '',
'periodical': '',
'author': 'W. G. Beasley',
'year': '1999',
'edition': '',
'publisher': 'University of California Press',
'city': '',
'pages': '331',
'language': 'English',
'topic': '',
'library': '',
'issue': '0',
'identifier': '0520220501, 9780520220508',
'issn': '',
'asin': '',
'udc': '',
'lbc': '',
'ddc': '',
'lcc': '',
'doi': '',
'googlebookid': '',
'openlibraryid': '',
'commentary': '',
'dpi': '0',
'color': '',
'cleaned': '',
'orientation': '',
'paginated': '',
'scanned': '',
'bookmarked': '',
'searchable': '1',
'filesize': '29750320',
'extension': 'pdf',
'md5': 'a382109f7fdde3be5b2cb4f82d97443b',
'generic': '',
'visible': '',
'local': '0',
'timeadded': '2013-02-15 18:40:21',
'timelastmodified': '2019-12-21 21:23:21',
'coverurl': 'http://libgen.rs/covers/881000/a382109f7fdde3be5b2cb4f82d97443b-g.jpg',
'identifierwodash': '0520220501,9780520220508',
'tags': '',
'pagesinfile': '331',
'descr': '',
'toc': '',
'sha1': 'ZZYRRG56BOX3XAQ5D2IWAV2FUUC35ELG',
'sha256': '3B40D6524409A18573900B729AB1BFB872E26CF111A4845F375A84BD0CB12460',
'crc32': '3DB84D01',
'edonkey': 'A63EEBB71C46DAE130725C07F2CDC67C',
'aich': '733CLKTMCYOGD4W5PIG2GMA7CMLAFN2V',
'tth': 'O4O5Z7UL2YAOUG57PINCLOAN63HVZPCSDYACT6Q',
'btih': '84195af51fa738cb232297dd1376df6d8b8313be',
'mirrors':
{
'main': 'http://library.lol/main/a382109f7fdde3be5b2cb4f82d97443b',
'libgen.lc': 'http://libgen.lc/ads.php?md5=a382109f7fdde3be5b2cb4f82d97443b',
'z-library': 'http://b-ok.cc/md5/a382109f7fdde3be5b2cb4f82d97443b',
'libgen.pw': 'https://libgen.pw/item?id=881061',
'bookfi': 'http://bookfi.net/md5/a382109f7fdde3be5b2cb4f82d97443b',
'torrent': 'http://libgen.rs/book/index.php?md5=a382109f7fdde3be5b2cb4f82d97443b&oftorrent=',
'torrent_1k': 'http://libgen.rs/repository_torrent/r_881000.torrent',
'gnutella': 'magnet:?xt=urn:sha1:ZZYRRG56BOX3XAQ5D2IWAV2FUUC35ELG&xl=29750320&dn=a382109f7fdde3be5b2cb4f82d97443b.pdf',
'ed2k': 'ed2k://|file|A382109F7FDDE3BE5B2CB4F82D97443B.pdf|29750320|A63EEBB71C46DAE130725C07F2CDC67C|h=733CLKTMCYOGD4W5PIG2GMA7CMLAFN2V|/',
'dc++': 'magnet:?xt=urn:tree:tiger:O4O5Z7UL2YAOUG57PINCLOAN63HVZPCSDYACT6Q&xl=29750320&dn=a382109f7fdde3be5b2cb4f82d97443b.pdf'
}
},
'id_of_book':{
...
...
...
},
'id_of_book':{
...
...
...
},
}
请注意,除镜像之外的上述信息均来自 Libgen,并且由书籍的上传者决定是否包含书籍的元数据。
下载一本书
仅支持对返回结果中的前3 个镜像('main'、'libgen.lc'、'z-library')进行下载。将 3 个链接之一传递给 Libgen 对象的下载方法。可选地,可以使用dest_folder参数与 url 一起传递目标路径。下载方法的输出是下载文件的路径。
async def download():
q = 'japan history'
result = await lg.search(q)
download_location = []
path = Path('Downloads')
for item in result:
file_path = await lg.download(result[item]['mirrors']['main'],
dest_folder=path,
progress=progress,
progress_args=[
result[item]['title']
])
download_location.append(file_path)
async def progress(current, total, title):
print('Downloading ', current, ' of ', total, ' ', title)
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
libgenesis-0.1.9.tar.gz
(12.5 kB
查看哈希)
内置分布
libgenesis-0.1.9-py3-none-any.whl
(11.9 kB
查看哈希)
关
libgenesis -0.1.9.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | fa32508a380c2fd0fc0c9d07931b5b4c1beaeed79c01c932658777716d2ad23f |
|
| MD5 | 7a8f03a3f9cd527b6b4cfdc9d71f4c47 |
|
| 布莱克2-256 | e563de5cada73d6e1aa3bbd671f4cefbf8448864af64aed989be867b6b2c679b |
关
libgenesis -0.1.9-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7f34c48de4fa4d3642589a6504540015dee22d74cb242de56b12976f486b124f |
|
| MD5 | 03f1177926e206f7aab1948aae88872a |
|
| 布莱克2-256 | e58d1749d30ae7ce9220b72873c2fe7c03c999d7a7e3dc3853423ab4086893fb |