使用X射线刮刀刮擦背景图像

时间:2018-06-28 20:35:41

标签: node.js web-scraping x-ray

我一直在使用X-Ray抓取一直运行良好的网站。我可以使用它很容易地引入图像。我遇到的一个问题是我看不到刮取背景图像的简便方法。说我有一个div,他们在那个dev上设置一个style属性,然后设置URL im不确定如何从中获取背景图像url。我认为我不能仅将特色图片属性传递给css属性,例如

 .featured-image.attr('background-image');

const getWebsiteContent = async (blogURL, selector) => {
  try {
    return await x(blogURL, selector, [{
      slug: 'a@href',
      featuredImage: 'img@src'
   }])
   .paginate(`${pagi}@href`)
   .limit(200)
   .then((response) => {
   spinner.succeed('Got the data');
   return response;
  })
} catch (error) {
  throw new Error('Cannot get Data from website, try checking your URL');
}
};

1 个答案:

答案 0 :(得分:0)

对于任何想用X射线刮刀解决此问题的人,我最终要做的就是从传递给对象的选择器中拉出属性。给定html如下所示。

adb connect

您可以写<div class="img" style="background-image: url('../path-to-img.jpg')"></div> 而不是写.img@src,这将为您返回样式属性。从那里,您将需要使用正则表达式删除不是图像URL的其余不需要数据。