как ускорить код-парсер?
долго работает, скажите пж, что исправить можно?
find_text = 'введите текст запроса'
html = urlopen(f'https://САЙТ.com/ru/search/?q={find_text}&target_type=posts&order=relevance')
bsObj = BeautifulSoup(html.read())
#строка выдачи
tm_pagination = bsObj.find('div', class_ = 'tm-pagination__pages').findAll('a')
last_page = int(tm_pagination[-1].text.strip())
#построчный перебор
link_list = []
for page_num in range(1,last_page+1):
html = urlopen(f'https://САЙТ.com/ru/search/page{page_num}/?q={find_text}&target_type=posts&order=relevance')
bsObj = BeautifulSoup(html.read())
for elem in bsObj.findAll('a', class_ ='tm-article-snippet__readmore'):
link_list.append('https://САЙТ.com' + elem['href'])
print(len(link_list))
print(*link_list[:10],sep = '\n')
тут выводятся ссылки которые напарсил код. потом чтение ссылок:
def parse_one_article(article_url):
html = urlopen(article_url)
bsObj = BeautifulSoup(html.read(), 'html.parser')
content = bsObj.find('div', class_ ='tm-article-body').text #tm-article-presenter__body
return(content)
with concurrent.futures.ThreadPoolExecutor() as executor:
future_to_url = {executor.submit(parse_one_article,link): link for link in link_list}
pages_text = []
for future in concurrent.futures.as_completed(future_to_url):
article_url = future_to_url[future]
try:
article_text = future.result()
if article_text:
pages_text.append(article_text)
except Exception as err:
print(f'Error{article_url}:{err}')
print(pages_text[2])