我想寫一個抓取腳本來檢索cnn文章的評論。例如,這篇文章:http://www.cnn.com/2012/01/19/politics/gop-debate/index.html?hpt=hp_t1使用disqus從網站檢索評論
我知道cnn使用disqus進行評論討論。由於評論加載不是基於網頁(即上一頁,下一頁)並且是動態的(即需要點擊「加載下一個25」),我不知道如何檢索這篇文章的所有5000多條評論。
任何想法或建議?
非常感謝!
我想寫一個抓取腳本來檢索cnn文章的評論。例如,這篇文章:http://www.cnn.com/2012/01/19/politics/gop-debate/index.html?hpt=hp_t1使用disqus從網站檢索評論
我知道cnn使用disqus進行評論討論。由於評論加載不是基於網頁(即上一頁,下一頁)並且是動態的(即需要點擊「加載下一個25」),我不知道如何檢索這篇文章的所有5000多條評論。
任何想法或建議?
非常感謝!
抓取(其他然後獲取頁面)的選項,可能不太健壯(取決於你的需要),但會提供一個解決方案,你有問題,是使用某種包裝滿周圍成熟的網絡瀏覽器,並從字面上編碼使用模式並提取相關數據。因爲你沒有提到你知道哪種編程語言,所以我給出3個例子:1)Watir - ruby,2)Watin - IE & Firefox via .net,3)Selenium - IE通過C#/ Java/Perl/PHP /拼音/ Python
我將使用華廷& C#提供了一個小例子:
IE browser = new IE();
browser.GoTo(YOUR CNN URL);
List visibleComments = Browser.List(Find.ById("dsq-comments"));
//do your scraping thing
Link moreComments = Browser.Link(Find.ByClass("dsq-paginate-append-text");
moreComments.click();
//wait util ajax ended by searching for some indicator
Browser.WaitUntilContainsText(SOME TEXT);
//do your scraping thing
注意: 我不熟悉disqus,但它可能是一個更好的選擇,迫使所有的評論通過循環顯示鏈接&點擊我發佈的部分代碼,直到所有評論都可見並且清除List元素dsq-comments
我需要通過刮取通過ajax發佈disqus評論的頁面來獲得評論。因爲它們不在服務器上呈現,所以我不得不調用disqus api。在源代碼中,您需要標識碼:
var identifier = "456643" // take note of this from the page source
// this is the ident url query param in the following js request
另外,請在js源代碼中查看頁面的公鑰和論壇名稱。將這些放在適當的URL中。
我使用的JavaScript來的NodeJS測試這一點,即:
var request = require("request");
var publicKey = "pILMw27bsbJsdfsdQDh9Eh0MzAgFL6xx0hYdsdsdfaIfBHRvLGqFFQ09st";
var disqusUri = "https://disqus.com/api/3.0/threads/listPosts.json?&api_key=" + publicKey + "&thread:ident=456643&forum=nameOfForumFromSource";
request(disqusUri, function(res,status,err){
console.log(res.body);
if(err){
console.log("ERR: " + err);
}
});
你問如何湊?或者你知道如何使用某種工具來刮擦,並且你需要幫助來挖掘一個基於disqus的評論系統?如果它的後者然後重新提出您的問題,包括工具的名稱 – Boaz
您好Boaz.Jan,我問如何刮。對於基於網頁的新聞通訊頁面,例如http://www.guardian.co.uk/politics/2012/jan/10/scottish-independence-referendum-autumn-2014?commentpage=1,我們只需要將評論頁面替換爲2 ,3,4 ..我們可以做一個http get來下載頁面並刮掉它。使用disqus,似乎沒有辦法檢索所有評論與http get ... – qwertyl