我已經閱讀了一些相關的帖子,但無法找到答案。使用AJAX的刮臉網站
我想抓取一個網頁與評論。當訪問網站時,首先只有10條評論,並且用戶應當按下「顯示更多」以獲得10條更多評論(其還將#add10添加到網站地址的末尾),每當他滾動到結束時評論列表。實際上,用戶可以通過將#add1000(其中1000是額外的評論數)添加到網站地址的末尾來獲得完整的評論列表。問題是,我得到使用SITE_URL#add1000我只蜘蛛前10條評論中,正如與SITE_URL所以這種方法是行不通的。
我也無法找到一種方法來製作一個適當的請求模仿網站的原點。產地AJAX URL的形式爲 '域/ ajaxlst PAR1 = X & PAR2 = Y?' 和我想這一切:
Request(url='domain/ajaxlst?par1=x&par2=y', callback=self.parse_all)
Request(url='domain/ajaxlst?par1=x&par2=y', callback=self.parse_all,
headers={all_headers})
Request(url='domain/ajaxlst?par1=x&par2=y', callback=self.parse_all,
headers={all_headers}, cookies={all_cookies})
但每次我得到一個404錯誤。任何人都可以解釋我做錯了什麼?
那麼,我以前使用硒+ phantomjs,但它相對較慢。你確定這不是一個更好的方法嗎? –
@AlexK。還有其他的方式看到這個http://stackoverflow.com/questions/16390257/scraping-ajax-pages-using-python,但我不知道導航和所有。 – Steve
謝謝。我在代碼中發現了一個錯誤 - 實際上,我錯過了'x-requested-with':'XMLHttpRequest'在我的頭文件中,並且noboby可能會注意到它,因爲我沒有提供這部分代碼...既然你的答案建議另一種解決問題的恰當方法,我將其標記爲解決方案。 –