繁体   English   中英

如何抓取网页的 javascript 部分?

[英]How to scrape the javascript portion of a webpage?

我正在尝试在 Node.js 中抓取一些站点。 我遵循了一个很棒的教程,但是意识到它可能不是我想要的,即。 可能正在考虑抓取页面的 javascript 部分而不是 html 部分。

那可能吗 ?

原因是我正在寻找加载以下代码部分的内容,我可以通过在 Safari 中检查(未在 Chrome 中显示)一个 kayak.com 页面(见下面的 url),并且似乎在脚本部分.

reducer: {"reducerPath":"flights\/results\/react\/reducers\/

https://www.kayak.com/flights/TYO-PAR/2019-07-05-flexible/2019-07-14-flexible/1adults/children-11?fs=cfc=1;legdur=-960;stops =~0;bfc=1&sort=bestflight_a&attempt=2&lastms=1550392662619

更新:不幸的是,这个站点使用机器人/抓取保护:像curl这样的工具会得到一个带有机器人警告的页面,像puppeteer这样的无头浏览器工具会得到一个带有验证码的页面。

================

由于此行存在于 HTML 源代码中并且不是由 JavaScript 执行动态添加的,因此您可以将类似的内容与适当的库 API 一起使用:

const extractedString = [...document.querySelectorAll('script')]
  .map(({ textContent }) => textContent)
  .find(txt => txt.includes('string'))
  .match(/regexp/);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM