2016-02-14 42 views
1

感謝有人回答這個問題: scrapy can't crawl all links in a page如何編輯'formdata'來抓取Ajax動態頁面?

我現在已經成功地爬過了一個Ajax網頁。但是,由於我剛剛使用formdata={'start':'0','num':'60','numChildren':'0','ipf':'1','xhr':'1'}模擬了一個請求,因此該網頁中只有120個鏈接可以被抓取(總共540個)。

我查了「網絡」,它表明我似乎需要編輯FORMDATA更多:

[network] 1

我知道有很多其他的方法那裏抓取AJAX頁面,但還是沒有在互聯網上探索各種答案之後清晰的想法。

有人可以提供方式來編輯formdata`在我的情況?或提供更簡單的解決方

+0

for循環編輯方式'formdata'不起作用。仍然獲得120個記錄的輸出.... –

回答

1

你可以使用這樣的東西來改變formdata。如果您還需要更改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)