我一直在使用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');
}
};
答案 0 :(得分:0)
对于任何想用X射线刮刀解决此问题的人,我最终要做的就是从传递给对象的选择器中拉出属性。给定html如下所示。
adb connect
您可以写<div class="img" style="background-image: url('../path-to-img.jpg')"></div>
而不是写.img@src
,这将为您返回样式属性。从那里,您将需要使用正则表达式删除不是图像URL的其余不需要数据。