drop self maintaining playwright, use nonebot-plugin-htmlrender, fix #25

This commit is contained in:
felinae98
2022-02-22 15:04:07 +08:00
parent 67972965ee
commit 3fdf91ac20
7 changed files with 316 additions and 380 deletions
@@ -1,12 +1,13 @@
import json
from typing import Any
from typing import Any, Type
import httpx
from bs4 import BeautifulSoup as bs
from nonebot.plugin import require
from nonebot_plugin_htmlrender import capture_element
from ..post import Post
from ..types import Category, RawPost, Target
from ..utils import Render
from .platform import CategoryNotSupport, NewMessage, StatusChange
@@ -46,21 +47,28 @@ class Arknights(NewMessage):
text = ""
async with httpx.AsyncClient() as client:
raw_html = await client.get(announce_url)
soup = bs(raw_html, "html.parser")
soup = bs(raw_html.text, "html.parser")
pics = []
if soup.find("div", class_="standerd-container"):
# 图文
render = Render()
viewport = {"width": 320, "height": 6400, "deviceScaleFactor": 3}
pic_data = await render.render(
announce_url, viewport=viewport, target="div.main"
require("nonebot_plugin_htmlrender")
pic_data = await capture_element(
announce_url,
"div.main",
viewport={"width": 320, "height": 6400},
device_scale_factor=3,
)
# render = Render()
# viewport = {"width": 320, "height": 6400, "deviceScaleFactor": 3}
# pic_data = await render.render(
# announce_url, viewport=viewport, target="div.main"
# )
if pic_data:
pics.append(pic_data)
else:
text = "图片渲染失败"
elif pic := soup.find("img", class_="banner-image"):
pics.append(pic["src"])
pics.append(pic["src"]) # type: ignore
else:
raise CategoryNotSupport()
return Post(