2016-02-14 1 views
1

Благодаря кому-то, отвечая на вопрос: scrapy can't crawl all links in a pageКак отредактировать 'formdata' для обхода динамических страниц Ajax?

Я успешно пополз веб-страницу Ajax. Однако можно просканировать только 120 ссылок на этой странице (всего 540), так как я просто смоделировал один запрос, используя formdata={'start':'0','num':'60','numChildren':'0','ipf':'1','xhr':'1'}.

Я проверил «сеть», и это показывает, что я, кажется, требует редактирования FormData больше:

[network] 1

Я знаю, что есть много других способов там, чтобы ползать АЯКС страницы, но до сих пор, не имеющего ясная идея после изучения различных ответов в Интернете.

Может ли кто-нибудь предложить способы редактирования formdata` в моем случае? Или предложить более простые решения?

+0

для режима редактирования петли для 'formdata' не работает. По-прежнему получают выход из 120 записей .... –

ответ

1

Вы можете использовать что-то подобное, чтобы изменить форму. Если вам также нужно изменить num, вы можете отредактировать цикл согласно вашему требованию.

for i in range(0,10): 
    yield FormRequest(url="https://play.google.com/store/apps/category/GAME/collection/topselling_new_free?authuser=0", method="POST", formdata={'start':str(i+60),'num':'60','numChildren':'0','ipf':'1','xhr':'1'}, callback=self.data_parse) 

 Смежные вопросы

  • Нет связанных вопросов^_^