fixed edge case where channel with no members fails _get_entity

This commit is contained in:
Tristan Lee
2022-07-05 10:23:26 -05:00
parent 056cd6215c
commit 73f10a4f24

View File

@@ -270,8 +270,12 @@ class TelegramChannelScraper(snscrape.base.Scraper):
raise snscrape.base.ScraperException(f'Got status code {r.status_code}')
soup = bs4.BeautifulSoup(r.text, 'lxml')
membersDiv = soup.find('div', class_ = 'tgme_page_extra')
if membersDiv.text.endswith((' members', ' subscribers')):
kwargs['members'] = int(''.join(membersDiv.text.split(' ')[:-1]))
if membersDiv.text.split(',')[0].endswith((' members', ' subscribers')):
membersStr = ''.join(membersDiv.text.split(',')[0].split(' ')[:-1])
if membersStr == 'no':
kwargs['members'] = 0
else:
kwargs['members'] = int(membersStr)
photoImg = soup.find('img', class_ = 'tgme_page_photo_image')
if photoImg is not None:
kwargs['photo'] = photoImg.attrs['src']