diff --git a/app/services/book_service.py b/app/services/book_service.py index 3960223..5e153ef 100644 --- a/app/services/book_service.py +++ b/app/services/book_service.py @@ -1,3 +1,5 @@ +import os + import requests from pathlib import Path from bs4 import BeautifulSoup @@ -22,8 +24,8 @@ class BookService: self.setting["targetDate"] = timestamp_to_datetime(target_ts) app_dir = find_project_root() - print(app_dir) - self.download_path = app_dir.parent / "download" # 下载目录 + self.download_path = app_dir / "download" # 下载目录 + print(self.download_path) self.today_timestamp = get_today_timestamp() self.one_date_loading = False self.session = requests.session() @@ -54,7 +56,8 @@ class BookService: name = name.replace(old, new) return name - def create_folder(self, parent_dir: Path, folder_name: str) -> Path: # 创建文件夹 + @staticmethod + def create_folder(parent_dir: Path, folder_name: str) -> Path: # 创建文件夹 """创建文件夹(如果不存在)并返回路径""" target = parent_dir / folder_name target.mkdir(parents=True, exist_ok=True) @@ -80,6 +83,8 @@ class BookService: return yield from self.download_file(f"{self.setting["baseUrl"]}{i.select_one( 'a')['href']}", name, i.select_one('a').string) + # yield from self.download_file(f"{self.setting["baseUrl"]}{i.select_one( + # 'a')['href']}", name, self.legitimate_naming(i.select_one('a').string)) except RetryError as e: print('重试三次也不成功') @@ -95,7 +100,8 @@ class BookService: yield f"event: mes_error\ndata: {self.setting["targetDate"]} {file_name}\n\n" print("不是可下载文件") return - target_dir = f"download/{self.setting["targetDate"]}/{dir_name}/{file_name}" + target_dir = self.download_path / self.setting["targetDate"] / dir_name / file_name + print(target_dir) with open(target_dir, 'wb') as f: for chunk in response.iter_content(chunk_size=1024): if chunk: @@ -185,6 +191,7 @@ class BookService: return element.select_one(".by em span").string def book_download(self): + print(os.getenv('aa')) self.create_folder(self.download_path, self.setting["targetDate"]) # 创建文件夹 target_page = self.setting["totalPage"] - self.setting["targetCountdownPage"] # 目标页 yield from self.section_page(target_page) # 前往目标页