如何使用javascript屏幕抓取多页应用程序?

时间:2018-10-08 19:25:51

标签: javascript screen-scraping

如何屏幕抓取多页应用程序?我想使用Javascript做到这一点。这是我考虑过的方法和遇到的问题。

在Node应用程序中使用Fetch Web API来获取网页

问题:提取网页后,网页无法正确加载。我猜想在提取页面时页面上的所有javascript都不会运行。

从控制台运行JavaScript

这是将JavaScript直接注入文档中的非常简单的方法。但是一个问题是,打开网页是浏览器,粘贴到控制台是手动工作。另一个问题是,尽管这种方法适用于单页应用程序,但对于多页应用程序却变得非常麻烦。

有什么更好的方法可以解决我遇到的问题?

2 个答案:

答案 0 :(得分:1)

取决于您在做什么。如果您只是想从某个网站上获取一些信息,则可以在页面中注入JS。

但是正如您所说的,这是我的手动工作,因此我推断您想抓取这些网站并保存数据。在这种情况下,服务端脚本更适合。要解决JavaScript无法加载的问题,您可以使用PhantomJs或Horseman之类的东西。

看看这个:https://medium.com/@designman/building-a-performant-web-scraper-in-node-js-5f4449674163

答案 1 :(得分:0)

如果要将网站内容(html,js,css文件,图像)保存到文件系统,则可以查看nodejs https://www.npmjs.com/package/website-scraperwebsite-scraper

它还具有PhantomJS插件,可处理单页应用程序