From cb7aef19c49df4ecf243f494a3d541030aa3e365 Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Sat, 12 Aug 2023 15:50:13 +0800 Subject: [PATCH] fix: test --- backend/src/module/network/request_contents.py | 13 ------------- backend/src/module/parser/analyser/__init__.py | 1 + .../src/module/parser/analyser/mikan_parser.py | 18 ++++++++++++++++++ 3 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 backend/src/module/parser/analyser/mikan_parser.py diff --git a/backend/src/module/network/request_contents.py b/backend/src/module/network/request_contents.py index a09923b7..96c741ed 100644 --- a/backend/src/module/network/request_contents.py +++ b/backend/src/module/network/request_contents.py @@ -35,19 +35,6 @@ class RequestContent(RequestURL): except ConnectionError: return [] - def get_mikan_info(self, _url) -> tuple[str, str]: - content = self.get_html(_url) - soup = BeautifulSoup(content, "html.parser") - poster_div = soup.find("div", {"class": "bangumi-poster"}) - poster_style = poster_div.get("style") - official_title = soup.select_one( - 'p.bangumi-title a[href^="/Home/Bangumi/"]' - ).text - if poster_style: - poster_path = poster_style.split("url('")[1].split("')")[0] - return poster_path, official_title - return "", "" - def get_xml(self, _url, retry: int = 3) -> xml.etree.ElementTree.Element: return xml.etree.ElementTree.fromstring(self.get_url(_url, retry).text) diff --git a/backend/src/module/parser/analyser/__init__.py b/backend/src/module/parser/analyser/__init__.py index 8465565c..da70a3f3 100644 --- a/backend/src/module/parser/analyser/__init__.py +++ b/backend/src/module/parser/analyser/__init__.py @@ -1,3 +1,4 @@ from .raw_parser import raw_parser from .tmdb_parser import tmdb_parser from .torrent_parser import torrent_parser +from .mikan_parser import mikan_parser diff --git a/backend/src/module/parser/analyser/mikan_parser.py b/backend/src/module/parser/analyser/mikan_parser.py new file mode 100644 index 00000000..503c1af8 --- /dev/null +++ b/backend/src/module/parser/analyser/mikan_parser.py @@ -0,0 +1,18 @@ +from bs4 import BeautifulSoup + +from module.network import RequestContent + + +def mikan_parser(homepage: str): + with RequestContent() as req: + content = req.get_html(homepage) + soup = BeautifulSoup(content, "html.parser") + poster_div = soup.find("div", {"class": "bangumi-poster"}) + poster_style = poster_div.get("style") + official_title = soup.select_one( + 'p.bangumi-title a[href^="/Home/Bangumi/"]' + ).text + if poster_style: + poster_path = poster_style.split("url('")[1].split("')")[0] + return poster_path, official_title + return "", ""