我正在尝试在Node.js中抓取一些网站。我遵循了great tutorial,但是意识到这可能不是我想要的,即。可能正在查看抓取页面的javascript部分而不是html。
有可能吗?
原因是,我正在寻找加载下面代码部分的内容,这些内容可以通过在Safari中检查(未在Chrome中显示)找到kayak.com页面(请参见下面的网址),并且似乎位于脚本部分。
reducer: {"reducerPath":"flights\/results\/react\/reducers\/
答案 0 :(得分:1)
更新:不幸的是,此站点使用了自动程序/抓取保护功能:curl
之类的工具获得带有机器人警告的页面,puppeteer
之类的无头浏览器工具获得具有验证码的页面。
===============
由于该行出现在HTML源代码中,并且不是由JavaScript执行动态添加的,因此您可以在适当的库API中使用以下代码:
const extractedString = [...document.querySelectorAll('script')]
.map(({ textContent }) => textContent)
.find(txt => txt.includes('string'))
.match(/regexp/);