Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 11, 2015 17:32:48

pavi
Зарегистрирован: 2015-01-11
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Gevent неизвестное количество запросов

Мне нужно спарсить какое-то количество страниц, но дело в том что я заранее не знаю сколько этих страниц будет. Когда пора остановиться определяется содержимым страницы в ответе от сервера. То есть нужно парсить пока содержимое != ‘stop’. В этом случае синхронный код имеет такой вид:

page = 1
while r.text != 'stop':
    r = request.get(url)
    # действия с ответом
    page += 1
print 'stop'
Происходит это все долго, поэтому решил ускориться при помощи gevent. Я могу генерировать нужное количество запросов, зная сколько страниц будет:
parsers = [gevent.spawn(parser, i) for i in range(1, 50)]
gevent.join_all(parsers)
Но как быть, если я не знаю заранее сколько запросов мне придется сделать?
Помогите пожалуйста кто чем может!

Отредактировано pavi (Янв. 11, 2015 17:33:08)

Офлайн

#2 Янв. 11, 2015 23:05:51

Alex_HH
Зарегистрирован: 2014-03-03
Сообщения: 91
Репутация: +  13  -
Профиль   Отправить e-mail  

Gevent неизвестное количество запросов

Там где действия с ответом ищите еще и вот такую ссылку (как на картинке), и спокойно переходите на след страницу.



————–
Зимой и летом heavy metall.
Технический прогресс - это падение вверх. Alex_HH (с)
Эстетизация жестокости есть квинтэссенция смысла человеческого существования. Alex_HH (с)
После бога идет не пустота, там метаданные. Alex_HH (с)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version