【问题标题】:Finding absolute url of img tag查找 img 标签的绝对 url
【发布时间】:2014-05-31 16:30:51
【问题描述】:

我正在使用Node.js 和cheerio 进行网页抓取,目前我无法提取img 标签的绝对网址。

代码如下:

$('.images').each(function () {
  console.log("absolute url: " , $(this)[0].src)
});

我正在返回 undefined 以获取在 Node.js 中运行该代码的 src 值,但是当我直接在 Chrome 控制台中应用该代码时,工作正常。似乎 Node.js 没有实现 src财产 ?接下来我尝试输出$(this)[0]的属性

{
  "type": "tag",
  "name": "img",
  "attribs": {
    "class": "images",
    "src": "/gfx/image.png",
    "alt": "",
    "children": [],
    "next": {
      "data": "\r\n        ",
      "type": "text",
      "next": null,
      "prev": "[Circular]",
      "parent": {} 
    }
  }
}

真的,它没有src,只有attrbs.src 返回相对网址,有什么想法吗?

【问题讨论】:

    标签: jquery node.js cheerio


    【解决方案1】:

    img 可能没有绝对网址,而只有相对网址。 attribs.src 是 src。但是你知道你在抓取哪个网站,所以你可以建立绝对网址。

    absoluteUrl = 'domain.com' + attribs.src;
    

    【讨论】:

    • 是的,我会同意的。
    【解决方案2】:

    这是链接到http://api.jquery.com/attr/ 的文档中所述的预测行为。

    【讨论】:

    • 欢迎来到 StackOverflow。请在您的答案中添加一些代码示例。虽然非常欢迎提供官方文档的链接,但一些代码可以帮助没有经验的用户理解,也可以让未来的访问者更容易更快地找到答案。谢谢
    猜你喜欢
    • 2021-03-18
    • 2012-07-03
    • 1970-01-01
    • 2011-12-18
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    相关资源
    最近更新 更多