У меня есть необходимость очистить список из 113 URL-адресов, чтобы собрать Title , ImageURL и Content из этих URL-адресов и поместить их в JSON / Текстовый файл для импорта позже.
Но я не могу заставить его работать должным образом. Теперь я заставил l oop работать, как go для URL, но возвращаемые результаты не определены, не уверен, почему возвращаемые данные не поступают.
Могу ли я получить помощь по этому вопросу?
РЕДАКТИРОВАТЬ
const puppeteer = require('puppeteer');
let scrape = async (i, url) => {
const browser = await puppeteer.launch({
headless: false // Show Browser
});
// Load a new page
const page = await browser.newPage();
// Set viewport size
await page.setViewport({ width: 1366, height: 768, deviceScaleFactor: 1 });
// Go to URL
await page.goto(`${url}`, { waitUntil: 'networkidle2' });
// Run the scrape over the page
const results = await page.evaluate(() => {
// H2 Heading
let title = document.querySelector('div.wsite-section-elements > h2.wsite-content-title').innerText;
// Image
let imageURL = document.querySelector('div.wsite-section-elements > div > div > a> img').getAttribute('src');
// Paragraph
let txtContent = document.querySelector('div.wsite-section-elements > div.paragraph').innerText;
});
//Close Browser
await browser.close();
// Return scrape results
return results;
};
(async () => {
// Pages to scrape
let pageURLs = ['https://www.bibleed.com/the-divine-origin-of-the-bible.html','https://www.bibleed.com/the-bible-our-guide.html'];
for(let i = 0; i < pageURLs.length; i++)
{
await scrape(i, pageURLs[i]).then((value) => {
console.log(i, ': ', value);
});
}
// Write to file
//const fs = require('fs');
//fs.writeFileSync('webScrape3.txt', JSON.stringify(result), err => err ? console.log(err): null);
})();