Skip to content

Commit 5668f67

Browse files
committed
fix: twostable update fetch mechanism
1 parent 6376c57 commit 5668f67

1 file changed

Lines changed: 17 additions & 11 deletions

File tree

radar/src/directories/twostable.py

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@
1010

1111
def get_entries():
1212
r1 = requests.get("https://passkeys.2stable.com/services/")
13-
s1 = BeautifulSoup(r1.text, "html.parser")
13+
s1 = BeautifulSoup(r1.text, "lxml")
1414

1515
entries = []
1616
for e in s1.select("div#services-supporting-passkeys table tbody tr"):
1717
try:
1818
id = e.select_one("th").get_text(strip=True)
19-
name = e.select_one("td h6").get_text(strip=True)
20-
domain = e.select_one("td p.fw-normal").get_text(strip=True)
21-
details = f"https://passkeys.2stable.com{e.select_one('td > a')['href']}"
19+
name = e.select_one("td div.text-dark").get_text(strip=True)
20+
domain = e.select_one("td div.small.text-secondary").get_text(strip=True)
21+
details = f"https://passkeys.2stable.com{e.select('td a')[-1]['href']}"
2222

2323
logger.debug(f"Fetch details from: {details}")
2424
r2 = requests.get(details)
25-
s2 = BeautifulSoup(r2.text, "html.parser")
26-
containers = s2.select("body > div > div:nth-child(2) > div > div:nth-child(4) > div > div.list-group > div")
25+
s2 = BeautifulSoup(r2.text, "lxml")
26+
containers = s2.select(".list-group .list-group-item")
2727

2828
# service
2929
# name = containers[0].select_one("p").get_text(strip=True)
@@ -33,15 +33,21 @@ def get_entries():
3333
# domain = (a := containers[1].select_one("a#service")) and a.get_text(strip=True)
3434

3535
# setup
36-
setup = ((a := containers[2].select_one("a#set-up")) and a["href"]) or ((p := containers[2].select_one("p")) and p.get_text())
36+
setup = (
37+
(a := containers[2].select_one("a")) and a["href"]
38+
) or (
39+
(p := containers[2].select_one("p")) and p.get_text(strip=True)
40+
)
3741

3842
# howto
39-
howto = containers[3].select_one("div").get_text()
40-
howto_links = [a["href"] for a in containers[3].select_one("div").select("a")]
43+
howto_div = containers[3]
44+
howto = howto_div.get_text(separator=" ", strip=True)
45+
howto_links = [a["href"] for a in howto_div.select("a")]
4146

4247
# recover
43-
recover = containers[4].select_one("div").get_text()
44-
recover_links = [a["href"] for a in containers[4].select_one("div").select("a")]
48+
recover_div = containers[4]
49+
recover = recover_div.get_text(separator=" ", strip=True)
50+
recover_links = [a["href"] for a in recover_div.select("a")]
4551

4652
entries.append({
4753
"id": id, "name": name, "domain": domain, "details": details,

0 commit comments

Comments
 (0)