Skip to content

Commit 526c378

Browse files
authored
Merge pull request #700 from 2513502304/main
将捕获异常的类型由HTTPStatusError换成基类HTTPError,以便正确处理爬取媒体资源出现任何错误时,都不会导致爬取评论的中断,详情参见提交记录
2 parents e4e0f65 + 2c11e64 commit 526c378

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

media_platform/bilibili/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,8 @@ async def get_video_media(self, url: str) -> Union[bytes, None]:
210210
return None
211211
else:
212212
return response.content
213-
except httpx.HTTPStatusError as exc: # some wrong when call httpx.request method, such as connection error, client error or server error
214-
utils.logger.error(f"[BilibiliClient.get_video_media] {exc}")
213+
except httpx.HTTPError as exc: # some wrong when call httpx.request method, such as connection error, client error, server error or response status code is not 2xx
214+
utils.logger.error(f"[BilibiliClient.get_video_media] {exc.__class__.__name__} for {exc.request.url} - {exc}") # 保留原始异常类型名称,以便开发者调试
215215
return None
216216

217217
async def get_video_comments(

media_platform/douyin/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,6 @@ async def get_aweme_media(self, url: str) -> Union[bytes, None]:
321321
return None
322322
else:
323323
return response.content
324-
except httpx.HTTPStatusError as exc: # some wrong when call httpx.request method, such as connection error, client error or server error
325-
utils.logger.error(f"[DouYinClient.get_aweme_media] {exc}")
324+
except httpx.HTTPError as exc: # some wrong when call httpx.request method, such as connection error, client error, server error or response status code is not 2xx
325+
utils.logger.error(f"[DouYinClient.get_aweme_media] {exc.__class__.__name__} for {exc.request.url} - {exc}") # 保留原始异常类型名称,以便开发者调试
326326
return None

media_platform/weibo/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,8 @@ async def get_note_image(self, image_url: str) -> bytes:
256256
return None
257257
else:
258258
return response.content
259-
except httpx.HTTPStatusError as exc: # some wrong when call httpx.request method, such as connection error, client error or server error
260-
utils.logger.error(f"[DouYinClient.get_aweme_media] {exc}")
259+
except httpx.HTTPError as exc: # some wrong when call httpx.request method, such as connection error, client error, server error or response status code is not 2xx
260+
utils.logger.error(f"[DouYinClient.get_aweme_media] {exc.__class__.__name__} for {exc.request.url} - {exc}") # 保留原始异常类型名称,以便开发者调试
261261
return None
262262

263263
async def get_creator_container_info(self, creator_id: str) -> Dict:

media_platform/xhs/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ async def get_note_media(self, url: str) -> Union[bytes, None]:
160160
return None
161161
else:
162162
return response.content
163-
except httpx.HTTPStatusError as exc: # some wrong when call httpx.request method, such as connection error, client error or server error
164-
utils.logger.error(f"[DouYinClient.get_aweme_media] {exc}")
163+
except httpx.HTTPError as exc: # some wrong when call httpx.request method, such as connection error, client error, server error or response status code is not 2xx
164+
utils.logger.error(f"[DouYinClient.get_aweme_media] {exc.__class__.__name__} for {exc.request.url} - {exc}") # 保留原始异常类型名称,以便开发者调试
165165
return None
166166

167167
async def pong(self) -> bool:

0 commit comments

Comments
 (0)