Создал скрипт для парсинга.
Алгоритм такой:
1. заранее внес в текстовый файл все ссылки на категории - cat_links.txt
2. сбор ссылок страниц категорий из cat_links.txt и запись список pages_list
- auto/audi?page=1
- auto/audi?page=2
- moto/aprilia?page=1
3. сбор ссылок объявлений из pages_list и запись в список - ann_list
4. парсинг необходимых данных по каждому объявлению из ann_list
Поскольку по каждому списку довольно много ссылок, запускаю все через multiprocessing. По каждому пункту, кроме 1-го - отдельные функции и в каждой функции свой Pool (вот пример):
def pool_pages(): with Pool(5) as p: cat_list = open('cat_links.txt').read().split('\n') p.map(get_pages, cat_list) def pool_ann_links(): with Pool(5) as p: p.map(get_ann_links, pages_list) def pool_ann_data(): with ThreadPool(4) as tp: tp.map(get_data_main, ann_list) def main(): pool_pages() pool_ann_links() pool_ann_data()
Проблема в том что, все три функции поочередно не запускаются, только лишь первая сделает то что было задано и на этом скрипт заканчивает работу. Пробовал поставить после первой функции в main() - print('что либо') - не срабатывает. Подскажите как сделать так чтобы все функции сработали по очереди.
Заранее спасибо.