Нужно в цикле запрашивать данные в таблице. Но таблицу получается найти только на первой итерации цикла. Дальше bs ее не видит. В консоли если просто передать в requests урл страницы пагинации любой - все парсится.
import requests from bs4 import BeautifulSoup import re def get_html(url): ua = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36' r = requests.get(url, headers={'User-Agent': ua}) return r.text def main(): base_url = 'https://forum.zakonia.ru/forumdisplay.php?f=64' html = get_html(base_url) soup = BeautifulSoup(html, 'lxml') # Получаем кол-во страниц пагинации pages_count = int(soup.find('div', id='forumContent').find('form').find_all('table')[0].find('table').find_all('tr')[0].find_all('td')[0].text.split()[-1]) for i in range(1, pages_count): url_page = base_url + '&page=%s' % i html = get_html(url_page) soup = BeautifulSoup(html, 'lxml') trs_pattern = 'threadbits_forum_' table = soup.find('table', id='threadslist') # Здесь таблицу получаем только на первой итерации цикла, дальше она None trs = table.find('tbody', id=re.compile(trs_pattern)).find_all('tr') for tr in trs: pattern = 'showthread' question = tr.find_all('td')[2].find('div').find('a', href=re.compile(pattern)).text print(question) if __name__ == '__main__': main()