0

我正在使用Node.jsandcheerio进行网络抓取,目前有一种情况是我无法提取img标签的绝对 URL。

所以这里是代码:

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

我正在恢复在 Node.js 中运行该代码undefinedsrc价值,但是当我直接在 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返回相对网址,有什么想法吗?

4

2 回答 2

1

img可能没有绝对网址,但只有相对网址。attribs.src是。_ src但是您知道要抓取哪个站点,因此您可以构建绝对 url。

absoluteUrl = 'domain.com' + attribs.src;
于 2014-05-31T08:24:46.940 回答
0

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

于 2014-05-31T08:30:51.983 回答