标签: cheerio

如何使用Cheerio(或.)从XBRL中选择<dei:DocumentType

我正在尝试使用带有nodejs的cheerio.js来获取XBRL条目的文本(在本例中为'10 -Q').该行如下:

<dei:DocumentType contextRef="D2013Q3YTD" id="Fact-DB2A50C2A485F9CC21D51934C6E61D42">10-Q</dei:DocumentType>
Run Code Online (Sandbox Code Playgroud)

我试过了:

$('dei:DocumentType').text
Run Code Online (Sandbox Code Playgroud)

和其他一些无济于事.我没有看到唯一的ID或其他任何内容.

样本文件:

http://www.sec.gov/Archives/edgar/data/1018724/000144530513002495/amzn-20130930.xml
Run Code Online (Sandbox Code Playgroud)

那么我怎么能去提取这个文本呢?谢谢.

parsing xbrl cheerio

2
推荐指数
1
解决办法
410
查看次数

使用console.print cheerio + nodejs时的奇怪字符

我是node.js的新手,编写我的第一个脚本来抓取一些数据.

有谁知道为什么我在使用这段代码时会看到里面有问号的奇怪字符?

var express = require('express');
var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');
var app = express();

var url = 'http://www.ebay.co.uk/csc/all-you-ever-want/m.html?LH_Complete=1&_ipg=50&_since=15&_sop=13&LH_FS=1&=&rt=nc&LH_ItemCondition=3';

request(url, function (error, response, html) {
  if (!error) {

    console.log(html);
    var $ = cheerio.load(html);

    $('.vip').each(function (i, element) {
      var link = $(this).text();
      console.log(link);
    });

  }
});

app.listen(process.env.PORT, process.env.IP)
console.log(process.env.PORT);
exports = module.exports = app;
Run Code Online (Sandbox Code Playgroud)

这是我看到的输出:

http://snag.gy/eQF1Y.jpg

谢谢!

安东尼

node.js cheerio

2
推荐指数
1
解决办法
2302
查看次数

一种了解何时所有回调都在javascript中完成的方法

我有很多调用服务的结果,当服务的所有回调都返回时,我想写一个文件到我的最终集合.有没有办法确保所有回调都完成了?

for (id in idsCollection) {
    object.callService(id, function (res) {
        collection.push(res);
    });
}

filewriter.writetoFile("filename.json", JSon.Stringify(collection));
Run Code Online (Sandbox Code Playgroud)

编辑:只是为了记录我正在使用nodeJS的cheerio.

javascript node.js cheerio

2
推荐指数
1
解决办法
3371
查看次数

无法读取未定义的属性'parent' - Node.js

我试图利用superagent和cheerio从kijiji抓取数据进行学习,而我收到了"无法读取未定义的属性'父级'的错误".(我试过craigslist很好).它发生在我得到正确的结果"对象"之后.cheerio似乎有些不对劲.有没有人对此有任何想法?提前感谢您的帮助.

[ERROR] 17:30:24 TypeError
TypeError: Cannot read property 'parent' of undefined
    at Function.exports.update (C:\Users\zhi_xie\nodejs\neomovie\node_modules\ch
eerio\lib\parse.js:55:25)
    at module.exports (C:\Users\zhi_xie\nodejs\neomovie\node_modules\cheerio\lib
\parse.js:17:11)
    at Function.exports.load (C:\Users\zhi_xie\nodejs\neomovie\node_modules\chee
rio\lib\static.js:19:14)
    at C:\Users\zhi_xie\nodejs\neomovie\routes\crawlerusers.js:35:27
    at Request.callback (C:\Users\zhi_xie\nodejs\neomovie\node_modules\superagen
t\lib\node\index.js:746:30)
    at Request.<anonymous> (C:\Users\zhi_xie\nodejs\neomovie\node_modules\supera
gent\lib\node\index.js:135:10)
    at Request.emit (events.js:95:17)
    at ClientRequest.<anonymous> (C:\Users\zhi_xie\nodejs\neomovie\node_modules\
superagent\lib\node\index.js:921:12)
    at ClientRequest.emit (events.js:95:17)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1692:21)
Run Code Online (Sandbox Code Playgroud)

这是代码:

  var superagent = require('superagent');
  var cheerio = require('cheerio');
  var url = require('url');
  var kijijiUrl = 'http://www.kijiji.ca/b-immobilier/ville-de-montreal/c34l1700281?ad=wanted';

  superagent.get(kijijiUrl).end(function (err, res) {
    if (err) {
      return console.error(err);
    }
    var topicUrls = [];
    var …
Run Code Online (Sandbox Code Playgroud)

javascript node.js superagent cheerio

2
推荐指数
1
解决办法
1万
查看次数

使用node.js在每个循环中使用deferred promise

当我在node.js的循环中使用promise时,我遇到了一个问题.下面是一个简单的例子,我使用cheerio来抓取一个网页并执行以下操作:

$('.xyz').each(function(){
  fn1()
  .then(fn2)
  .then(fn3)    
});


function fn1() {
  var deferred = Q.defer();
  console.log("1");
  deferred.resolve();
  return deferred.promise;
}

function fn2() {
  var deferred = Q.defer();
  console.log("2");
  deferred.resolve();
  return deferred.promise;
}

function fn3() {
  var deferred = Q.defer();
  console.log("3");
  deferred.resolve();
  return deferred.promise;
}
Run Code Online (Sandbox Code Playgroud)

我期待最终输出为123123123,但我得到111222333.有人可以解释为什么会发生这种情况.我对node.js很新,可以使用一些帮助.

node.js promise cheerio

2
推荐指数
1
解决办法
2671
查看次数

如何抓取网页的图像源代码?

基本上,我正在尝试从网页获取图像src,以便随后可以下载图像。我尝试过的所有方法均无效。

另外,我对node.js和cheerio还是很陌生,所以请耐心等待。

var  DilbertURL = 'http://Dilbert.com/strip/' + getDateTime();

request(DilbertURL, function (error, response, body) {
    var $ = cheerio.load(body);

    $('div.container-fluid').each(function(i, element){
      var src = $('.img-responsive img-comic').attr("src");

      console.log(src);

    });

});
Run Code Online (Sandbox Code Playgroud)

我尝试获取dilbert图像src的所有操作均不起作用。全部返回“未定义”。图片的html像这样...

<img alt="Wally's Passion  - Dilbert by Scott Adams" 
class="img-responsive img-comic" height="280"    src="http://assets.amuniversal.com/dc0c4f80fd6e0132ef1a005056a9545d" 
width="900">
Run Code Online (Sandbox Code Playgroud)

我到底在做什么错?

node.js cheerio

2
推荐指数
1
解决办法
8205
查看次数

Node.js解析HTML表并以JSON格式获取结果

我找到了cheerio库来解析HTML节点并获取表的子级并创建JSON格式,但是我不能正确地使用它,并且我的代码也无法得到点头。

的HTML

<table class="Modules" width="180" cellspacing="0" cellpadding="0" border="0">
    <tbody>
    <tr>
        <th align="center" style="padding:2px 5px;" colspan="6">
            <span id="ctl00_ucBody_ucContent_ctl00_rptItemList_ctl00_lblTitle"
                  style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-weight: bold; font-size : 1.1em; float:right;">??? ???</span>
<span dir="ltr">
<span id="ctl00_ucBody_ucContent_ctl00_rptItemList_ctl00_lblDate"
      style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-weight: bold; font-size : 1.1em;">????/??/??</span>
</span>
        </th>
    </tr>
    <tr class="ExRate-TR">
        <td>USD</td>
        <td nowrap="">Dollar</td>
        <td>12345</td>
        <td>
            <img width="9" height="9" title="" alt="down" src="/Images/down.gif">
        </td>
        <td>
            <input id="ctl00_ucBody_ucContent_ctl00_rptItemList_ctl01_imgChart" />
        </td>
        <td>
            <a id="ctl00_ucBody_ucContent_ctl00_rptItemList_ctl01_hypRSS" href="../ExRatesRSS.aspx?cid=1" alternatetext="RSS">
        </td>
    </tr>
    <tr class="ExRate-TR">
        <td>CHF</td>
        <td nowrap="">Danmark</td>
        <td>78456</td>
        <td>
            <img …
Run Code Online (Sandbox Code Playgroud)

html javascript dom node.js cheerio

2
推荐指数
1
解决办法
4329
查看次数

cheerio脚本元素 - 数据

我使用cheerio进行一些抓取并想要访问页面上的head js元素(特别是instructables).我可以访问它,但它作为功能返回.

所以用这个:

  console.log($('script').attr('type', "application/ld+json").text);
Run Code Online (Sandbox Code Playgroud)

javascript cheerio

2
推荐指数
1
解决办法
832
查看次数

如何使用选择器过滤`each`中的cheerio对象?

我正在使用Cheerio解析一个简单的网页,并且在可能的情况下徘徊:

使用此结构的html:

<tr class="human">
    <td class="event"><a>event1</a></td>
    <td class="name">name1</td>
    <td class="surname"><a>surname1</a></td>
    <td class="date">2011</td>
</tr>
<tr class="human">
    <td class="event"><a>event2</a></td>
    <td class="name">name2</td>
    <td class="surname"><a>surname2</a></td>
    <td class="date">2012</td>
</tr>
<tr class="human">
    <td class="event"><a>event3</a></td>
    <td class="name">name3</td>
    <td class="surname"><a>surname3</a></td>
    <td class="date">2013</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

一旦我得到了它相匹配的所有cheerio对象tr.human我希望能够通过他们循环在班值映射选择namesurname等来的对象。

到目前为止,我实现了这一点:

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

fs.readFile('./humans.html', 'utf8', function (err,data) {
    if (err) {
        return console.log(err);
    }

    const $ = cheerio.load(data)
    var results = $('tr.human')

    results.each(function(i, result){

       var date = result.children[3]
       var name = result.children[1] …
Run Code Online (Sandbox Code Playgroud)

javascript jquery html-parsing node.js cheerio

2
推荐指数
1
解决办法
3471
查看次数

nodejs cheerio在每个循环中选择子元素

我正在尝试选择strong a.info类内的标签

$(".info").each(function(i, item){
    console.log($(this).children("strong a").text())
});
Run Code Online (Sandbox Code Playgroud)

它正确选择了信息类,而不是 strong a

在此处输入图片说明

javascript jquery node.js cheerio

2
推荐指数
2
解决办法
5089
查看次数

标签 统计

cheerio ×10

node.js ×8

javascript ×6

jquery ×2

dom ×1

html ×1

html-parsing ×1

parsing ×1

promise ×1

superagent ×1

xbrl ×1