fix(book_service): 修复帖子详情页面请求错误处理

- 添加requests.RequestException异常捕获和错误消息返回
- 重构URL构建逻辑到变量中提高代码可读性
- 移除调试打印语句中的baseUrl重复显示
- 在下载方法前添加注释分隔符增强代码结构
This commit is contained in:
2026-05-18 19:37:42 +08:00
parent c64c9479a9
commit f7539a33b0
+12 -3
View File
@@ -64,12 +64,18 @@ class BookService:
return target return target
def post_page(self, name, url): # 帖子页面 def post_page(self, name, url): # 帖子页面
print(f"详情页面 {self.setting["baseUrl"]}{url}") full_url = f"{self.setting['baseUrl']}{url}"
response = self.session.get(f"{self.setting["baseUrl"]}{url}") try:
response = self.session.get(full_url)
response.raise_for_status() response.raise_for_status()
print(f"详情页面状态码:{str(response.status_code)}") 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') soup = BeautifulSoup(response.text, 'lxml')
resource_boxs = soup.select('ignore_js_op') resource_boxs = soup.select('ignore_js_op')
for i in resource_boxs: for i in resource_boxs:
download_dir_path = self.download_path / self.setting["targetDate"] download_dir_path = self.download_path / self.setting["targetDate"]
self.create_folder(download_dir_path, name) self.create_folder(download_dir_path, name)
@@ -193,6 +199,9 @@ class BookService:
else: else:
return element.select_one(".by em span").string return element.select_one(".by em span").string
# ------------------------------------------------------------
# 下载
# ------------------------------------------------------------
def book_download(self): def book_download(self):
print(os.getenv('aa')) print(os.getenv('aa'))
self.create_folder(self.download_path, self.setting["targetDate"]) # 创建文件夹 self.create_folder(self.download_path, self.setting["targetDate"]) # 创建文件夹