diff --git a/feeds/modules/tapas.py b/feeds/modules/tapas.py index c113f0c..49b7128 100644 --- a/feeds/modules/tapas.py +++ b/feeds/modules/tapas.py @@ -18,19 +18,24 @@ class TapasFeedModuleConfig(FeedModuleConfig): MODULE_NAME = 'Tapas.io comic' + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.session = requests.Session() + self.session.headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0'} + def execute(self, bot: TeleBot, chat_id, last_id): config._reload_maybe() if last_id is None: last_id = 0 - soup = BeautifulSoup(requests.get(f'https://tapas.io/series/{self.display_name}').text, 'html.parser') + soup = BeautifulSoup(self.session.get(f'https://tapas.io/series/{self.display_name}').text, 'html.parser') for episode in soup.select('#episode-nav .episode'): eid = int(episode['data-eid']) if eid <= last_id: continue - esoup = BeautifulSoup(requests.get(f'https://tapas.io/episode/{eid}').text, 'html.parser') + esoup = BeautifulSoup(self.session.get(f'https://tapas.io/episode/{eid}').text, 'html.parser') # series_title = esoup.select_one('#series-info-wrap a.series-header-title').text title = esoup.select_one(f'#episodes [data-eid={eid}] h1').text caption = f'{title}\nhttps://tapas.io/episode/{eid}'