2016-11-22 69 views
0

我們可以使用Scrapy從java腳本加載的網頁獲取內容嗎?Scrapy for dynamic contect

我想要廢除this頁面 中的使用示例,但由於它們是使用java腳本作爲Jason對象加載的,所以我無法讓它們使用Scrapy。

你能建議什麼是處理這些問題的最佳方法嗎?

回答

3

打開瀏覽器的開發人員工具,然後查看網絡選項卡。如果你打的頁面有足夠的「下一步」按鈕,它會發出一個新的請求:

examples.json

取出JSONP放慢參數之後,URL非常簡單:

https://corpus.vocabulary.com/api/1.0/examples.json?query=unalienable&maxResults=24&startOffset=24&filter=0 

通過提出最少數量的請求,你的蜘蛛將會很快。

如果你只想模擬一個完整的瀏覽器並執行JavaScript,你可以使用像Selenium或Scrapinghub's Splash(及其相應的Scrapy plugin)。

+0

我得到了該網址,但它返回了一個文本文件,我再次可以使用scrappy取消。我想從文件中提取句子。我怎樣才能做到這一點? PS-感謝您的回答:) –

+1

這是JSON。解析它與'json.loads':http://stackoverflow.com/questions/18171835/scraping-a-json-response-with-scrapy – Blender

+0

我已經嘗試過,它返回錯誤ValueError:沒有JSON對象可以解碼 json.loads(response.body_as_unicode()) –