Trying to scrape asins from an Amazon search. they are in a div tag like below.
Example: <div data-asin="B007Q13M2Y"
Currently my code does return some , but mostly null's. Is there something i missing here?
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false,
});
const page = await browser.newPage();
var url = await page.goto('https://www.amazon.co.uk/s?k=TAKPART+Brass+Diff+Filler+Plug+Kit+Compatible+for+Discovery+2+Td5+%26+V8&crid=SCY3QG71TBS9&sprefix=takpart+brass+diff+filler+plug+kit+compatible+for+discovery+2+td5+%26+v8%2Caps%2C77&ref=nb_sb_noss#');
const data = await page.evaluate(() =>
Array.from(document.querySelectorAll(".s-main-slot.s-result-list.s-search-results.sg-
row")).map(d => d.getAttribute("data-asin"))
)
console.log(data)
})()
Output: '', null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, '', null, null, null, null, 'B07957YMTG', null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 'B07SJGJVXR', null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 'B07WS9VMX6', null, null, null, null, null, null, null, ... 673 more items