2. Не могу прикрутить цикл к пагинации, что бы все страницы парсило.
3. Может лучше все делать в сессии - requests_html import HTMLSession?
import csv import fake_useragent import requests from bs4 import BeautifulSoup as bs def get_html(url): user_agent = fake_useragent.UserAgent() user = user_agent.random headers = {'User-Agent': str(user)} r = requests.get(url, headers=headers, params='') return r.text def get_page_links(html): soup = bs(html, 'lxml') ads = soup.find('div', class_='col-md-12 search-result').find_all('div', class_='search-result_item') all_links = [] for ad in ads: link = 'https://tourism.gov.ru' + ad.find('a', class_='search-result_item_link').get('href') all_links.append(link) return all_links def get_page_data(html): soup = bs(html, 'lxml') try: title = soup.find('div', class_='col-sm-9 col-xs-12 content').find('h1').text except Exception: title = '' try: inn = soup.select('div.col-sm-9.col-xs-12.content > div:nth-child(8) > div:nth-child(2)') except Exception: inn = '' data = {'Название': title, 'ИНН': inn, } return data def write_csv(data): with open('any.csv', 'a') as f: writer = csv.writer(f) writer.writerow((data["Название"], data["ИНН"])) def main(): url = 'https://tourism.gov.ru/operators/' all_links = get_page_links(get_html(url)) for link in all_links: html = get_html(link,) data = get_page_data(html) write_csv(data) if __name__ == '__main__': main()