Last active 5 hours ago

Revision 88ac8fff1ddcf2ada3992dda45c9bf410747836e

yuletide-vn.py Raw
1import re,requests
2from bs4 import BeautifulSoup
3
4maxhours = 45
5
6with open("tagset.html","r") as tagset:
7 tagsoup = BeautifulSoup(tagset,"html.parser")
8 fandoms = tagsoup.find_all("li",class_="fandom")
9 vns = []
10 for fandom in fandoms:
11 title = fandom.find("h4")
12 if "Visual Novel" in title.text:
13 thetitle = re.sub(" \(.*Visual Novel.*\)\n.*\n.*","",re.sub(".* \| ","",title.text.strip()))
14 vns.append(thetitle)
15
16final = []
17
18for vn in vns:
19 x = requests.post("https://api.vndb.org/kana/vn",json={"filters":["and",["lang","=","en"],["search","=",vn],["olang","=","ja"],["or",["platform","=","ps4"],["platform","=","ps5"],["platform","=","swi"]]],"fields":"title, length_minutes, id"})
20 try:
21 for result in x.json()["results"]:
22 if result["length_minutes"] < (maxhours * 60):
23 final.append(result["title"] + ": https://vndb.org/" + result["id"] + " (" + vn + ")")
24 except requests.exceptions.JSONDecodeError:
25 pass
26
27final = sorted(list(dict.fromkeys(final)))
28for vn in final:
29 print(vn)