nyaasi-scraper is an asynchronous Python library for scraping nyaa.si and sukebei.nyaa.si.
Project description
nyaasi-scraper
nyaasi-scraper is an asynchronous Python library for scraping nyaa.si and sukebei.nyaa.si.
Installation
Installing through pip.
pip install nyaasi-scraper
Usage
Initializing Client with Site
By default, the site is nyaa.si (work-safe site).
from nyaascraper import NyaaClient, SITE
# Work-safe site.
client = NyaaClient(SITE.FUN)
# Non-work-safe site.
client = NyaaClient(SITE.FAP)
Changing Site
You can change the site of the client dynamically.
from nyaascraper import SITE
client.site = SITE.FUN
Searching Torrents
Search with Query
from nyaascraper.models import SearchResult
result: SearchResult = await client.search(query="your query...")
print(result)
# Iterate over torrents.
for torrent in result.torrents:
print(torrent)
Search by Username
result = await client.search(username="Erai-raws")
print(result)
Search with Filter
from nyaascraper import Filter
# No Filter. (Default)
result = await client.search(filter_=Filter.NO_FILTER)
print(result)
# Trusted only.
result = await client.search(filter_=Filter.TRUSTED_ONLY)
print(result)
# No Remakes.
result = await client.search(filter_=Filter.NO_REMAKES)
print(result)
Search with Category
from nyaascraper.enums import FunCategory, FapCategory
# Work-safe category.
result = await client.search(category=FunCategory.ANIME)
print(result)
# Work-safe subcategory search.
result = await client.search(category=FunCategory.ANIME__ENGLISH_TRANSLATED)
print(result)
# Non-work-safe category.
result = await client.search(category=FapCategory.ART)
print(result)
# Non-work-safe subcategory search.
result = await client.search(category=FunCategory.ART__MANGA)
print(result)
Search with Sorting
from nyaascraper.enums import SortBy, SortOrder
# Sort by comments.
result = await client.search(sort_by=SortBy.COMMENTS)
print(result)
# Sort by size.
result = await client.search(sort_by=SortBy.SIZE)
print(result)
# Sort by date.
result = await client.search(sort_by=SortBy.DATE)
print(result)
# Sort by seeders.
result = await client.search(sort_by=SortBy.SEEDERS)
print(result)
# Sort by leechers.
result = await client.search(sort_by=SortBy.LEECHERS)
print(result)
# Sort by downloads.
result = await client.search(sort_by=SortBy.DOWNLOADS)
print(result)
# Sort order: Ascending.
result = await client.search(sort_order=SortOrder.ASCENDING)
print(result)
# Sort order: Descending.
result = await client.search(sort_order=SortOrder.DESCENDING)
print(result)
Search by Page
result = await client.search(page=2)
print(result)
Getting Torrent Information
from nyaascraper.models import TorrentInfo
result = await client.search()
# Select View-ID of first torrent from the search result.
view_id: int = result.torrents[0].view_id
torrent_info: TorrentInfo = await client.get_torrent_info(view_id)
print(torrent_info)
RSS Feed
Initializing Client with Site
By default, the site is nyaa.si (work-safe site).
from nyaascraper import NyaaRSSClient, SITE
# Work-safe site.
client = NyaaRSSClient(SITE.FUN)
# Non-work-safe site.
client = NyaaRSSClient(SITE.FAP)
Changing Site
You can change the site of the client dynamically.
from nyaascraper import SITE
client.site = SITE.FUN
Get RSS feed
from nyaascraper.enums import Filter, FunCategory
from nyaascraper.models import NyaaRSSFeed
# All parameters passed are optional.
feed: NyaaRSSFeed = await client.get_feed(
query="your query...",
username="Erai-raws",
filter_=Filter.TRUSTED_ONLY,
category=FunCategory.ANIME__ENGLISH_TRANSLATED
)
print("Title:", feed.title)
print("Description:", feed.description)
# Iterate over torrents.
for torrent in feed.torrents:
print(torrent)
License
Licensed under MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for nyaasi_scraper-2.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ad69331f62b99dd710d7a2639d082bf882289646090d8a0e12d30bcde1e8dee |
|
MD5 | 32bdf00a14f0d84cb57e4ab4f7532fc6 |
|
BLAKE2b-256 | 02cf9d5004d42ae6137bf9641d4dc25b53c160cff4bc9003d83421036133ed97 |