DLsite Async
Project description
DLsite Async
Features
-
Async DLsite API for fetching work metadata
-
Supports most DLsite sites:
- Comipo (
comic
) - Doujin (All-ages/
home
, Adult/maniax
) - Adult comics (
books
) - All-ages games (
soft
) - Galge (
pro
) - Apps (
appx
)
- Comipo (
-
Supports common metadata for most DLsite work types
-
Japanese and English locale support (English metadata may not be available for all works)
-
Async DLsite Play API
-
Supports downloading web-optimized versions of works from DLsite Play
- Downloads require valid DLsite account login (only purchased works can be downloaded)
- Only
optimized
file versions can be downloaded - Images may be resized to smaller resolution and compressed
- Audio files may be re-encoded and compressed into MP3 format
-
Supports de-scrambling downloaded images (from book type works)
- Image de-scrambling requires installation with
dlsite-async[pil]
- Image de-scrambling requires installation with
Requirements
- Python 3.9+
Installation
You can install DLsite Async via pip from PyPI:
$ pip install dlsite-async
Certain features require may installing extra dependencies:
$ pip install dlsite-async[pil]
Usage examples
Fetch manga information:
>>> import asyncio
>>> from dlsite_async import DlsiteAPI
>>> async def f():
... async with DlsiteAPI() as api:
... return await api.get_work("BJ370220")
...
>>> asyncio.run(f())
Work(
product_id='BJ370220',
site_id='comic',
maker_id='BG01675',
work_name='衛宮さんちの今 日のごはん (6)\u3000レシピ本付特装版',
age_category=<AgeCategory.ALL_AGES: 1>,
circle=None,
brand=None,
publisher='KADOKAWA',
work_image='//img.dlsite.jp/.../BJ370220_img_main.jpg',
regist_date=datetime.datetime(2021, 10, 28, 0, 0),
work_type=<WorkType.MANGA: 'MNG'>,
book_type=<BookType.BOOK: 'comic'>,
...
author=['TAa', '只野まこと', 'TYPE−MOON'],
...
genre=['少年コミック', 'ギャグ', 'コメディ', 'ほのぼの'],
label='KADOKAWA',
...
page_count=307
)
Fetch English voice/ASMR information:
>>> async def f():
... async with DlsiteAPI(locale="en_US") as api:
... return await api.get_work("RJ294126")
...
>>> asyncio.run(f())
Work(
product_id='RJ294126',
site_id='maniax',
maker_id='RG51931',
work_name='Pure Pussy on Duty',
age_category=<AgeCategory.R18: 3>,
circle='aoharu fetishism',
brand=None,
publisher=None,
work_image='//img.dlsite.jp/.../RJ294126_img_main.jpg',
regist_date=datetime.datetime(2020, 8, 30, 0, 0),
work_type=<WorkType.VOICE_ASMR: 'SOU'>,
...
illustration=['ぬこぷし'],
voice_actor=['逢坂成美'],
...
genre=['Healing', 'Dirty Talk', 'Binaural', 'ASMR', ...],
...
file_format=['WAV'],
file_size='Total 010.63GB',
...
)
Contributing
Contributions are very welcome. To learn more, see the Contributor Guide.
License
Distributed under the terms of the MIT license, DLsite Async is free and open source software.
Issues
If you encounter any problems, please file an issue along with a detailed description.
Credits
This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dlsite_async-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11c7183954b5beb884c14813a3de6302ed491be6601d7e9daadd8c47af76e7c3 |
|
MD5 | dbc6ca67df9c45ce07c75a28825538c7 |
|
BLAKE2b-256 | 5aadccdca25b6d1ff0cf03aae7496f7f8796d59de469ac4f7332cfb1d067a4bb |