Уведомления

Группа в Telegram: @pythonsu

#1 Июль 26, 2019 23:28:50

philips2009
Зарегистрирован: 2017-05-09
Сообщения: 45
Репутация: +  0  -
Профиль   Отправить e-mail  

Multiprocessing

Доброго времени суток уважаемые форумчане.
Создал скрипт для парсинга.
Алгоритм такой:
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('что либо') - не срабатывает. Подскажите как сделать так чтобы все функции сработали по очереди.
Заранее спасибо.

Офлайн

#2 Июль 27, 2019 17:17:23

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Multiprocessing

philips2009ваш код это набор непонятных переменных. Что такое get_pages, get_ann_links, pages_list, get_data_main, ann_list. откуда они беруться? что содержат? Сделайте всменяемый код котроый можно запустить и посмотреть чего там у вас откуда береться. Может у вас ексепшин какой выскакивает или еще чего.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июль 27, 2019 17:17:40)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version