Skip to content

gensimone/myao

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Myao

A flexible Nyaa API written in Python.

Version License

This library is intended to allow users to interact with Nyaa and Sukebei without forcing the use of a specific HTTP library like requests and the use of a specific HTML parser like lxml. Only static components are implemented: a component for defining URLs and for extracting and organizing the resulting data.

Installation

pip install myao

Usage

More examples in the 'examples' directory

import requests

from myao.urls import get_single_torrent_url, format_url
from myao.parameters import Category, Subcategory, Filter, Order
from myao.extractors import (
    get_comments,
    get_multiple_torrents,
    get_multiple_torrents_rss,
    Parser
)


# ---------- Comments ----------------- #

code = 1273100
url = get_single_torrent_url(code)

response = requests.get(url)
response.raise_for_status()

comments = get_comments(
    content=response.content, 
    parser=Parser.LXML
)

# ----------- Torrents ---------------- #

url = format_url(
    query='Lain',
    category=Category.ANIME,
    subcategory=Subcategory.ENGLISH_TRANSLATED,
    filter_=Filter.TRUSTED_ONLY,
    order=Order.ASCENDING
)

response = requests.get(url)
response.raise_for_status()

torrents = get_multiple_torrents(
    content=response.content, 
    parser=Parser.HTML
)

# ----------- Torrents RSS ------------ #

url = format_url(
    query='Steins;Gate',
    category=Category.LITERATURE,
    subcategory=Subcategory.RAW,
    rss=True
)

response = requests.get(url)
response.raise_for_status()

torrents = get_multiple_torrents_rss(
    content=response.content,
    parser=Parser.HTML5LIB
)