使用Nodejs进行Webscraping - <ul>标签

时间:2017-04-25 17:30:51

标签: javascript html css node.js web-scraping

我正在努力为股票市场网页搜索href链接的标题。 我没有得到任何输出。我试着打电话给班级,id等。 我看到标签分配了$ 0。我在控制台命令行中键入了这个,但它只显示了相同的内容。

我想从html获取文本“Bulk Deals”。如果我能算出这是怎么做的,我可以继续。

代码:

  var cheerio = require('cheerio');
    var request = require('request');

    var url ="http://feeds.feedburner.com/nseindia/CMDailyReport";
    request(url, function(err, resp, body){
    	var $ = cheerio.load(body);
    	$(".regularitem .itemtitle").each(function(){
    		var link = $(this);
    		var text = link.text();
        		var href = link.attr("href");

    	 	console.log(text + href);
    	
    	});    

    });
    <ul>
    	<li xmlns:dc="http://purl.org/dc/elements/1.1/" class="regularitem">
    		<h4 class="itemtitle">
    			<a href="http://feedproxy.google.com/~r/nseindia/CMDailyReport/~3/P9Aw3__Tm9M/bulk.csv">Bulk Deals</a></h4>
    		<h5 class="itemposttime"></h5>
    		<div class="itemcontent" name="decodeable"><div class="feedflare">
    	<a href="http://feeds.feedburner.com/~ff/nseindia/CMDailyReport?a=P9Aw3__Tm9M:Clpwmq7B-_I:yIl2AUoC8zA">
    		<img src="http://feeds.feedburner.com/~ff/nseindia/CMDailyReport?d=yIl2AUoC8zA" border="0">
    	</a> 
    	<a href="http://feeds.feedburner.com/~ff/nseindia/CMDailyReport?a=P9Aw3__Tm9M:Clpwmq7B-_I:F7zBnMyn0Lo">
    		<img src="http://feeds.feedburner.com/~ff/nseindia/CMDailyReport?i=P9Aw3__Tm9M:Clpwmq7B-_I:F7zBnMyn0Lo" border="0">
    	</a> 
    	<a href="http://feeds.feedburner.com/~ff/nseindia/CMDailyReport?a=P9Aw3__Tm9M:Clpwmq7B-_I:qj6IDK7rITs">
    		<img src="http://feeds.feedburner.com/~ff/nseindia/CMDailyReport?d=qj6IDK7rITs" border="0">
    	</a> 
    	<a href="http://feeds.feedburner.com/~ff/nseindia/CMDailyReport?a=P9Aw3__Tm9M:Clpwmq7B-_I:gIN9vFwOqvQ">
    		<img src="http://feeds.feedburner.com/~ff/nseindia/CMDailyReport?i=P9Aw3__Tm9M:Clpwmq7B-_I:gIN9vFwOqvQ" border="0">
    	</a>
    	</div>
    		<img src="http://feeds.feedburner.com/~r/nseindia/CMDailyReport/~4/P9Aw3__Tm9M" height="1" width="1" alt="">
    	</div>
    </li>

1 个答案:

答案 0 :(得分:0)

当您执行write.csv(matrix(yournewvector, ncol=1), file="yournewvector.csv", row.names=FALSE) 时,您将获得$(".regularitem .itemtitle")而不是其中的链接(<h4>)。

要获得&#34;批量交易&#34;,您可以在浏览器中执行以下操作(或点击&#39;运行代码段&#39;按钮):

&#13;
&#13;
<a>
&#13;
&#13;
&#13;

希望它有所帮助,

祝你好运