diff --git a/tilefy/src/plugins/chrome_extension.py b/tilefy/src/plugins/chrome_extension.py index 5490136..14a9d5f 100644 --- a/tilefy/src/plugins/chrome_extension.py +++ b/tilefy/src/plugins/chrome_extension.py @@ -19,6 +19,9 @@ class ChromeExtension: def get(self): """get parsed users""" soup = self.get_soup() + if not soup: + return 0 + users = self.parse_field(soup) return users @@ -26,14 +29,20 @@ class ChromeExtension: def get_soup(self): """get the soup""" url = f"https://chromewebstore.google.com/detail/tubearchivist-companion/{self.extension_id}?hl=en&authuser=0" # noqa: E501 - response = requests.get(url, headers=self.HEADERS) + response = requests.get(url, headers=self.HEADERS, timeout=30) + if not response.ok: + print( + f"failed to get {url}, {response.status_code} {response.text}" + ) + return None + soup = BeautifulSoup(response.text, "html.parser") return soup def parse_field(self, soup): """extract the number""" - char_field = soup.find("span", {"class": "e-f-ih"}).text + char_field = soup.find("div", {"class": "F9iKBc"}).text users = int(re.sub(r"[^\d]+", "", char_field)) return users