[英]Get yahoo comments with web scraping
我正在嘗試獲取有關Yahoo的新聞評論,該站點上有一個鏈接“查看反應”,其ID為:“ caascommtbar-wide”,並嘗試使用CasperJS,Selenium,ScrapySharp獲取該元素,以單擊該鏈接並顯示注釋,但是在那些工具中您找不到元素,我什至嘗試使用XPath
CasperJS:
casper.then (function () {
if (this.exists ('a.caascommtbar-anchor')) {
this.echo ("It exists");
} else
this.echo ("It Does not Exist");
});
casper.then (function () {
// Click on 1st result link
this.click ('a.caascommtbar-anchor');
});
硒:
driver.FindElement (By.Id ("caascommtbar-anchor")). Click ();
有誰知道為什么您不能訪問注釋所在的HTML代碼的這一部分?
應該注意的是,當嘗試訪問新聞論壇中包含的Facebook評論時,我也會遇到同樣的事情。
正如Isaac所說,頁面的一部分是異步加載的,因此您應該在代碼中實現waitFor步驟。 這是執行此操作的代碼。
var url = "https://es-us.vida-estilo.yahoo.com/instagram-cierra-la-cuenta-de-una-modelo-por-ser-gorda-103756072.html";
var casper = require('casper').create({
viewportSize: {width: 1280, height: 800},
});
casper.start(url, function() {
this.echo('Opened page');
});
casper.waitForSelector('a.comments-title', function() {
this.click('.comments-title');
});
casper.waitForSelector('ul.comments-list > li', function() {
this.echo(this.getHTML('ul.comments-list'));
});
casper.run();
希望能有所幫助
問題是為什么頁面尚未加載,而我不得不等待,我是casperjs的新手。
現在,當我嘗試刪除所有評論及其答案時遇到了問題,但是找不到幫助我的算法。 嘗試按所有答案按鈕,但僅獲得第一個評論的第一個答案。
casper.waitForSelector('button.showMore', function () {
this.click('.showMore');
}, function onWaitTimeout() {
});
var buttons;
casper.waitForSelector('ul.comments-list', function getLinks() {
buttons = this.evaluate(function ()
{
var buttons = document.getElementsByClassName('replies-button');
buttons = Array.prototype.map.call(buttons, function (button) {
button.click();
casper.waitForSelector('ul.comments-list', function () {
casper.wait(3000, function () {
});
});
return button.getAttribute('class');
});
return buttons;
});
}, function onWaitTimeout() {
});
function wait5seconds() {
casper.wait(3000, function () {
});
}
casper.waitForSelector('ul.comments-list > li', function () {
var x = this.getHTML('ul.comments-list');
this.echo(x);
}, function onWaitTimeout() {
});
casper.run();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.