fix🐛: 修正b站订阅

This commit is contained in:
HibiKier
2023-09-06 18:53:15 +08:00
parent fb26be821b
commit 1130569a20
8 changed files with 3372 additions and 3235 deletions
+8 -3
View File
@@ -13,7 +13,7 @@ from playwright.async_api import BrowserContext, Page
from retrying import retry
from services.log import logger
from utils.user_agent import get_user_agent
from utils.user_agent import get_user_agent, get_user_agent_str
from .browser import get_browser
from .message_builder import image
@@ -218,7 +218,7 @@ class AsyncHttpx:
else:
logger.error(f"下载 {url} 下载超时.. Path:{path.absolute()}")
except Exception as e:
logger.error(f"下载 {url} 未知错误 {type(e)}:{e}.. Path:{path.absolute()}")
logger.error(f"下载 {url} 错误 Path:{path.absolute()}", e=e)
return False
@classmethod
@@ -329,6 +329,7 @@ class AsyncPlaywright:
] = "networkidle",
timeout: Optional[float] = None,
type_: Optional[Literal["jpeg", "png"]] = None,
user_agent: Optional[str] = None,
**kwargs,
) -> Optional[MessageSegment]:
"""
@@ -353,7 +354,11 @@ class AsyncPlaywright:
element_list = [element]
else:
element_list = element
async with cls.new_page(viewport=viewport_size) as page:
async with cls.new_page(
viewport=viewport_size,
user_agent=user_agent,
**kwargs,
) as page:
await page.goto(url, timeout=timeout, wait_until=wait_until)
card = page
for e in element_list:
+4 -4
View File
@@ -7,7 +7,7 @@ import uuid
from io import BytesIO
from math import ceil
from pathlib import Path
from typing import Awaitable, Callable, List, Literal, Optional, Tuple, Union
from typing import Any, Awaitable, Callable, List, Literal, Optional, Tuple, Union
import cv2
import imagehash
@@ -353,16 +353,16 @@ class BuildImage:
:param font_size: 字体大小
"""
font_ = cls.load_font(font, font_size)
return font_.getsize(msg)
return font_.getsize(msg) # type: ignore
def getsize(self, msg: str) -> Tuple[int, int]:
def getsize(self, msg: Any) -> Tuple[int, int]:
"""
说明:
获取文字在该图片 font_size 下所需要的空间
参数:
:param msg: 文字内容
"""
return self.font.getsize(msg)
return self.font.getsize(str(msg)) # type: ignore
async def apoint(
self, pos: Tuple[int, int], fill: Optional[Tuple[int, int, int]] = None
+4 -1
View File
@@ -1,6 +1,5 @@
import random
user_agent = [
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
@@ -45,3 +44,7 @@ user_agent = [
def get_user_agent():
return {"User-Agent": random.choice(user_agent)}
def get_user_agent_str():
return random.choice(user_agent)