From f7539a33b026a9eb998c9b7321a44c42cc4a41c2 Mon Sep 17 00:00:00 2001 From: zhengshunjin <2667579369@qq.com> Date: Mon, 18 May 2026 19:37:42 +0800 Subject: [PATCH] =?UTF-8?q?fix(book=5Fservice):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=B8=96=E5=AD=90=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加requests.RequestException异常捕获和错误消息返回 - 重构URL构建逻辑到变量中提高代码可读性 - 移除调试打印语句中的baseUrl重复显示 - 在下载方法前添加注释分隔符增强代码结构 --- app/services/book_service.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/services/book_service.py b/app/services/book_service.py index 6b478da..2ddb229 100644 --- a/app/services/book_service.py +++ b/app/services/book_service.py @@ -64,12 +64,18 @@ class BookService: return target def post_page(self, name, url): # 帖子页面 - print(f"详情页面 {self.setting["baseUrl"]}{url}") - response = self.session.get(f"{self.setting["baseUrl"]}{url}") - response.raise_for_status() - print(f"详情页面状态码:{str(response.status_code)}") + full_url = f"{self.setting['baseUrl']}{url}" + try: + response = self.session.get(full_url) + response.raise_for_status() + except requests.RequestException as e: + yield f"event: error\ndata: 请求帖子详情失败 {url}: {str(e)}\n\n" + return + print(f"详情页面 {str(response.status_code)} {full_url}") + soup = BeautifulSoup(response.text, 'lxml') resource_boxs = soup.select('ignore_js_op') + for i in resource_boxs: download_dir_path = self.download_path / self.setting["targetDate"] self.create_folder(download_dir_path, name) @@ -193,6 +199,9 @@ class BookService: else: 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"]) # 创建文件夹