Очистите фоновые изображения с помощью X-Ray-Scraper

Я использовал X-Ray для очистки сайта, который работал очень хорошо. Я могу использовать это очень легко вводить изображения. Единственный предмет, с которым я сталкиваюсь - я не вижу простого способа очистить фоновое изображение. Скажем, у меня есть div, в котором они устанавливают атрибут стиля для этого разработчика, а затем задают URL, и я не уверен, как получить 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 ответов

Для тех, кто хочет решить эту проблему с помощью рентгеновского скребка, я в итоге извлек атрибут из селектора, который вы передаете в объект. Полученный HTML выглядит следующим образом.

<div class="img" style="background-image: url('../path-to-img.jpg')"></div>

Вместо того чтобы писать .img@src ты мог бы написать .img@style и это вернет вам атрибут стиля. Оттуда вам нужно будет использовать регулярное выражение, чтобы удалить остальные ненужные данные, которые не являются URL-адресом изображения.

Другие вопросы по тегам