如何刮取网页的javascript部分?
我正试图在Node.js中搜索一些网站。我跟着一个great tutorial然而意识到它可能不是我想要的,即。可能正在寻找抓取页面的javascript部分而不是html部分。
那可能吗 ?
原因是我正在寻找加载我可以找到的代码的下面部分的内容,通过在Safari中检查(不在Chrome中显示)一个kayak页面(参见下面的URL)并且似乎在脚本部分中。
reducer: {"reducerPath":"flights\/results\/react\/reducers\/
;legdur=-960;stops=~0;bfc=1&sort=bestflight_a&attempt=2&lastms=1550392662619
回答如下:更新:不幸的是,这个网站使用bot / scrape保护:像curl
这样的工具得到一个机器人警告的页面,像puppeteer
这样的无头浏览器工具获得了一个带有验证码的页面。
===============
由于此行存在于HTML源代码中,并且不是由JavaScript执行动态添加的,因此您可以使用相应的库API来使用此类:
const extractedString = [...document.querySelectorAll('script')]
.map(({ textContent }) => textContent)
.find(txt => txt.includes('string'))
.match(/regexp/);