Nyaa.si & sukebei.nyaa.si LXML fully ready

This commit is contained in:
Ferenc Nánási
2020-02-01 15:11:35 +01:00
parent bf01a922f0
commit fd28e65c8b
8 changed files with 190 additions and 109 deletions

View File

@@ -1,9 +1,14 @@
import requests
from bs4 import BeautifulSoup
from NyaaPy import utils
class SukebeiNyaa:
def __init__(self):
self.SITE = utils.TorrentSite.SUKEBEINYAASI
def search(self, keyword, **kwargs):
uri = self.SITE.value
category = kwargs.get('category', 0)
subcategory = kwargs.get('subcategory', 0)
filters = kwargs.get('filters', 0)
@@ -11,37 +16,37 @@ class SukebeiNyaa:
if page > 0:
r = requests.get("{}/?f={}&c={}_{}&q={}&p={}".format(
"http://sukebei.nyaa.si", filters, category, subcategory,
uri, filters, category, subcategory,
keyword, page))
else:
r = requests.get("{}/?f={}&c={}_{}&q={}".format(
"http://sukebei.nyaa.si", filters, category, subcategory,
uri, filters, category, subcategory,
keyword))
soup = BeautifulSoup(r.text, 'html.parser')
rows = soup.select('table tr')
return utils.parse_nyaa(rows, limit=None)
r.raise_for_status()
return utils.parse_nyaa(r.text, limit=None, site=self.SITE)
def get(self, 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})
r = requests.get("{}/view/{}".format(self.SITE.value, id))
r.raise_for_status()
return utils.parse_single(content)
return utils.parse_single(r.text, self.SITE)
def get_user(self, username):
r = requests.get("http://sukebei.nyaa.si/user/{}".format(username))
soup = BeautifulSoup(r.text, 'html.parser')
r = requests.get("{}/user/{}".format(self.SITE.value, username))
r.raise_for_status()
return utils.parse_nyaa(soup.select('table tr'), limit=None)
return utils.parse_nyaa(r.text, limit=None, site=self.SITE)
def news(self, number_of_results):
r = requests.get("http://sukebei.nyaa.si/")
soup = BeautifulSoup(r.text, 'html.parser')
rows = soup.select('table tr')
def last_uploads(self, number_of_results):
r = requests.get(self.SITE.value)
r.raise_for_status()
return utils.parse_sukebei(rows, limit=number_of_results + 1)
return utils.parse_nyaa(
r.text,
limit=number_of_results + 1,
site=self.SITE
)
class SukebeiPantsu: