Я пытаюсь сделать скребок, используя кукловод, используя нод, и все, кажется, работает нормально. Я хочу получить массив объектов, выглядящих так:
[{
title,
price,
link,
image,
}]
и следующий код выполняет это, мне повезло, и на странице был атрибут данных с изображением src, и я смог получить его так:
img: item.querySelector('.imagebox').dataset.imgsrc,
.
Тем не менее, я хотел бы знать, почему этот код не работает, когда я хочу получить src
, как это
image: item.querySelector('img').src,
вот код, который я использую, и URL-адрес веб-сайта, который я пытаюсь очистить.
import puppeteer from 'puppeteer'
async function getHTML(url) {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto(url)
const listItem = await page.evaluate(() =>
[...document.querySelectorAll('.aditem')].map(item => ({
title: item.querySelector('.text-module-begin').textContent.trim(),
price: item.querySelector('.aditem-details strong').textContent.trim(),
link: item.querySelector('.ellipsis').href,
img: item.querySelector('.imagebox').dataset.imgsrc,
image: item.querySelector('img').src,
}))
)
console.log(listItem)
await browser.close()
}
const searchArea = `s-kreuzberg`
const searchParam = `bike`
const url = `https://www.ebay-kleinanzeigen.de/${searchArea}/seite:1/${searchParam}/k0l3375r5`
async function go() {
await getHTML(url)
}
go()
заранее спасибо за любую помощь help