【发布时间】:2018-09-14 04:45:49
【问题描述】:
我正在使用Puppeteer 构建一个基本的网络抓取工具,到目前为止,我可以从任何给定页面返回我需要的所有数据,但是当涉及分页时,我的抓取工具会卡住(仅返回第一页)。
查看示例 - 这将返回前 20 本书的标题/价格,但不查看其他 49 页书籍。
只是寻找有关如何克服这个问题的指导 - 我在文档中看不到任何内容。
谢谢!
const puppeteer = require('puppeteer');
let scrape = async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto('http://books.toscrape.com/');
const result = await page.evaluate(() => {
let data = [];
let elements = document.querySelectorAll('.product_pod');
for (var element of elements){
let title = element.childNodes[5].innerText;
let price = element.childNodes[7].children[0].innerText;
data.push({title, price});
}
return data;
});
browser.close();
return result;
};
scrape().then((value) => {
console.log(value);
});
要清楚。我正在关注这里的教程 - 此代码来自 codeburst.io 上的 Brandon Morelli! https://codeburst.io/a-guide-to-automating-scraping-the-web-with-javascript-chrome-puppeteer-node-js-b18efb9e9921
【问题讨论】:
-
要清楚。我正在关注这里的教程 - 此代码来自 codeburst.io 上的 Brandon Morelli! codeburst.io/…
标签: node.js web-scraping pagination puppeteer