Мне нужен парсер, который сможет отпарсить сайт с 11000 страниц. Парсер делать подсчет некоторых данных из текста с этих страниц.
url="https://website/post"
def parser():
for num in range(1,11000):
#получаю страницу сайта
BeautifulSoup=bs4.BeautifulSoup( requests.get(url+str(num)).text,"html.parser" )
# получаю блок с текстом
post_text=BeautifulSoup.select(".post-text")
print( "num= %s " % num)
try:
print(post_text)
print(post_text[0].text)
###
###Тут я обрабатываю текст и сохраняю число в переменную size
###
except IndexError:
pass
print(size)
Я сомневаюсь, что это будет быстро, поэтому думаю тут нужна многопоточность, но с ней я полностью не разобрался.
Как такую задачу разделить на потоки?
На каждый поток выделить определенное количество страниц, чтобы одну и та же страница не парсилась несколько раз?
Как тогда сохранить конечную переменную size из каждого потока? Сохранять в файл, приплюсовывая к тому числу, что уже есть в файле от других потоков? Или в массив?
В мультипоточности я не шарю, т.к. только начал всё это изучать