fix: follow site dom change

This commit is contained in:
NateScarlet 2023-05-15 01:58:42 +08:00
parent 868d0eb712
commit d1369f1c05
No known key found for this signature in database
GPG Key ID: 5C242793B070309C
2 changed files with 19 additions and 1 deletions

View File

@ -130,7 +130,7 @@ def get_paper(url: str) -> str:
soup = bs4.BeautifulSoup(response.text, features="html.parser")
container = soup.find(id="UCAP-CONTENT")
assert container, f"Can not get paper container from url: {url}"
ret = container.get_text().replace("\u3000\u3000", "\n")
ret = "\n".join((i.get_text() for i in container.find_all("p")))
assert ret, f"Can not get paper content from url: {url}"
return ret

View File

@ -31,6 +31,24 @@ def test_get_rules():
) == [("劳动节", "2019年5月1日至4日放假调休共4天。4月28日星期日、5月5日星期日上班。")]
def test_get_rules_2023():
got = list(
get_rules(
get_paper(
"http://www.gov.cn/zhengce/content/2022-12/08/content_5730844.htm"
)
)
)
assert got == [
("元旦", "2022年12月31日至2023年1月2日放假调休共3天。"),
("春节", "1月21日至27日放假调休共7天。1月28日星期六、1月29日星期日上班。"),
("清明节", "4月5日放假共1天。"),
("劳动节", "4月29日至5月3日放假调休共5天。4月23日星期日、5月6日星期六上班。"),
("端午节", "6月22日至24日放假调休共3天。6月25日星期日上班。"),
("中秋节、国庆节", "9月29日至10月6日放假调休共8天。10月7日星期六、10月8日星期日上班。"),
]
def _normalize(iterable):
return sorted(
json.loads(json.dumps(list(iterable), cls=CustomJSONEncoder)),