Ejemplo n.º 1
0
    def search(keyword, **kwargs):
        category = kwargs.get('category', 0)
        subcategory = kwargs.get('subcategory', 0)
        filters = kwargs.get('filters', 0)
        page = kwargs.get('page', 0)

        if page > 0:
            r = requests.get("{}/?f={}&c={}_{}&q={}&p={}".format(
                Nyaa.URI, filters, category, subcategory, keyword, page))
        else:
            r = requests.get("{}/?f={}&c={}_{}&q={}".format(
                Nyaa.URI, filters, category, subcategory, keyword))

        soup = BeautifulSoup(r.text, 'html.parser')
        rows = soup.select('table tr')

        return utils.parse_nyaa(rows, limit=None)
    def get_raw_data(self, content=None):
        '''

        :param content:
        :return:
        '''
        raw_data = RAWDataInstance()
        soup = BeautifulSoup(content, 'html.parser')

        try:
            ttable = soup.select('table tr')
            if ttable != []:
                try:
                    dict_result = Utils.parse_nyaa(ttable, limit=None)

                    for item in dict_result:
                        size = item['size']
                        if 'MiB' in size:
                            size = size.replace('MiB', 'MB')
                            size = float(size[:-2])
                        elif 'GiB' in size:
                            size = size.replace('GiB', 'GB')
                            size = float(size[:-2]) * 1000

                        seed = str(item['seeders'])
                        if seed == '0':
                            seed = '1'
                        leech = str(item['leechers'])
                        if leech == '0':
                            leech = '1'

                        magnet_link = item['magnet']

                        raw_data.add_new_row(size, seed, leech, magnet_link)
                        self.logger.debug('{0} New Entry Raw Values: {1:7} {2:>4}/{3:4} {4}'.format(
                            self.name, str(size), str(seed), str(leech), magnet_link))
                except Exception as err:
                    raise WebScraperParseError(self.name, 'ParseError: unable to retrieve values: {0}'.format(err),
                                               traceback.format_exc())
        except Exception as err:
            raise WebScraperContentError(self.name, 'ContentError: unable to retrieve values {0}'.format(err),
                                         traceback.format_exc())
        return raw_data
Ejemplo n.º 3
0
    def search(keyword, **kwargs):
        request = requests.get("{}/search{}".format(
            SukebeiPantsu.BASE_URL, utils.query_builder(keyword, kwargs)))

        return request.json()
Ejemplo n.º 4
0
    def news(number_of_results):
        r = requests.get("http://sukebei.nyaa.si/")
        soup = BeautifulSoup(r.text, 'html.parser')
        rows = soup.select('table tr')

        return utils.parse_sukebei(rows, limit=number_of_results + 1)
Ejemplo n.º 5
0
    def get_user(username):
        r = requests.get("http://sukebei.nyaa.si/user/{}".format(username))
        soup = BeautifulSoup(r.text, 'html.parser')

        return utils.parse_nyaa(soup.select('table tr'), limit=None)
Ejemplo n.º 6
0
    def get(id):
        r = requests.get("http://sukebei.nyaa.si/view/{}".format(id))
        soup = BeautifulSoup(r.text, 'html.parser')
        content = soup.findAll("div", {"class": "panel", "id": None})

        return utils.parse_single(content)
Ejemplo n.º 7
0
    def news(number_of_results):
        r = requests.get(Nyaa.URI)
        soup = BeautifulSoup(r.text, 'html.parser')
        rows = soup.select('table tr')

        return utils.parse_nyaa(rows, limit=number_of_results + 1)
Ejemplo n.º 8
0
    def get_user(username):
        r = requests.get("{}/user/{}".format(Nyaa.URI, username))
        soup = BeautifulSoup(r.text, 'html.parser')

        return utils.parse_nyaa(soup.select('table tr'), limit=None)
Ejemplo n.º 9
0
import requests
import urllib.parse
from bs4 import BeautifulSoup
from NyaaPy.utils import Utils

utils = Utils()


class Nyaa:
    def __init__(self):
        self.URI = "http://nyaa.si"

    def search(self, keyword, **kwargs):
        user = kwargs.get('user', None)
        category = kwargs.get('category', 0)
        subcategory = kwargs.get('subcategory', 0)
        filters = kwargs.get('filters', 0)
        page = kwargs.get('page', 0)

        if user:
            user_uri = "user/{}".format(user)
        else:
            user_uri = ""

        if page > 0:
            r = requests.get("{}/{}?f={}&c={}_{}&q={}&p={}".format(
                self.URI, user_uri, filters, category, subcategory, keyword,
                page))
        else:
            r = requests.get("{}/{}?f={}&c={}_{}&q={}".format(
                self.URI, user_uri, filters, category, subcategory, keyword))