javascript - 使用 nodejs 和 puppeteer 从维基百科页面抓取影片
问题描述
我正在尝试从维基百科获取电影。使用 puppeteer,我从检查元素中选择电影部分并复制XPath
. 但是,我没有得到任何电影数据。
scrapers.js
const puppeteer = require("puppeteer")
const scrapeProduct = async (url) => {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto(url)
const [el] = await page.$x(`//*[@id="mw-content-text"]/div[1]/div[8]/div`)
console.log("el=>", el)
browser.close()
}
scrapeProduct("https://en.wikipedia.org/wiki/Werner_Herzog")
这就是我要进入的内容console.log(el)
:
解决方案
el
是一个 ElementHandle,而不是内容本身。您可以尝试获取该innerText
句柄:
console.log(await el.evaluate(el => el.innerText));
推荐阅读
- c++ - std::find_if 映射到对象
- c++ - 为什么 Rust 在性能上比 Ocaml 快,尽管第一个 Rust 编译器是在 Ocaml 中实现的
- javascript - 在 AJAX 调用中返回上一页
- c++ - 是否所有正式尊重依赖关系的 CPU 都允许独立依赖关系?
- swift - Swift 扩展协议
- java - 理解java中的同步列表
- reactjs - 更新嵌套数组状态 reactjs
- flutter - 为具有 TextEditingController 作为子控件的子控件选择 StatelessWidget 或 StatefulWidget
- azure - Azure 是否为与 API 的 WebSocket 连接提供“无服务器”选项?
- python - 转换为基于组合的结构,而不会“丢失”继承