我被要求编写一个应用程序,该应用程序屏幕从内部网页面抓取信息,并以易于查看的格式呈现其中的特定信息.网页是一个真正的混乱,需要用户点击六个图标来发现订购的商品是否已经到达或已被收到.正如你可以想象的那样,用户发现这至少令人恼火,并且拥有一个任何人都可以使用的应用程序,在单个屏幕中列出他们的订单状态会很不错.
是的,我知道一个更好的解决方案是重新编写网络应用程序,但这将涉及到供应商,并将花费我们作为小财富.
无论如何,在我看到这个时,我发现我想要抓取的网页主要是Javascript(虽然它不使用任何AJAX技术).有没有人知道是否存在我可以使用Javascript提供的库或程序,然后会为我的应用程序解析DOM?
我几乎可以用任何语言编写应用程序,但我的偏好是JavaFX,所以我可以玩它.
谢谢你的时间.
伊恩
我正在使用PhantomJS在JavaScript DOM操作发生后获取生成的网页源.这个网页只有一个<body>,没有别的.
重要提示:此网页使用浏览器localStorage生成页面.
我想在打开页面之前更改PhantomJS中的LocalStorage.
App.js:
var page = require('webpage').create();
page.open("https://sample.com")
setTimeout(function(){
// Where you want to save it
page.render("screenshoot.png")
// You can access its content using jQuery
var fbcomments = page.evaluate(function(){
return $("body").contents().find(".content")
})
phantom.exit();
}, 1000)
Run Code Online (Sandbox Code Playgroud)