【问题标题】:JS Puppeteer - How to scrape a tableJS Puppeteer - 如何刮桌子
【发布时间】:2023-03-22 18:21:01
【问题描述】:

我对 Javascript 或 Puppeteer 不太了解,我想知道如何抓取下表:

我想刮掉身体内所有<tr>...</tr><td class="className">...</td>

有什么解决办法吗?

【问题讨论】:

  • 请勿发布代码、数据、错误消息等的图片 - 将文本复制或输入到问题中。 How to Ask
  • @Rob - 在这种情况下,图像实际上更有用。
  • @pguardiario 你是说图片不能用文字复制吗?
  • 我是说元素面板的图像通常比粘贴大量 html 更有用。它与代码图像不同。
  • @pguardiario 代码的图像是他希望你帮助抓取的代码。它在面板中没有任何意义。他需要按照我链接和引用的规则将其作为文本输入。没有理由不这样做。

标签: javascript html web-scraping puppeteer


【解决方案1】:

这可能看起来像:

await page.evaluate (() => {
  return [...document.querySelectorAll('.tbrdr tbody tr')].map(tr => {
    return [...tr.querySelectorAll('td.className')].map(td => td.innerText)
  })
})

【讨论】:

  • 您需要根据您的情况对其进行调整,例如,如果 td 类是“className”,我会感到惊讶
  • 但我将如何显示输出?
【解决方案2】:
let text = await page.evaluate (() => document.querySelector('tbody').innerText)

【讨论】:

  • 我收到以下错误:运行您的代码时出错。 ReferenceError:分配中的左侧无效
  • 我解决了错误,'=>'之间有一个空格
猜你喜欢
  • 2019-03-25
  • 2015-02-25
  • 1970-01-01
  • 2019-07-22
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多