具有JavaScript能力的命令行URL获取

具有JavaScript能力的命令行URL获取,javascript,curl,wget,httplib2,Javascript,Curl,Wget,Httplib2,我使用php中的curl和python中的httplib2获取URL 但是,有些页面在加载页面后使用JavaScript-AJAX检索数据,之后它们只覆盖页面的特定部分 那么,是否有任何命令行实用程序可以处理JavaScript 要了解我的意思,请访问monster.com并尝试寻找一份工作 您将看到Ajax随后将获得作业列表。因此,如果我想根据我的关键字搜索来获取工作,我会得到没有工作的页面 但是通过浏览器它可以工作。并查看该Ajax请求的URL。然后可以将curl与该URL一起使用。有两种方

我使用php中的curl和python中的httplib2获取URL

但是,有些页面在加载页面后使用JavaScript-AJAX检索数据,之后它们只覆盖页面的特定部分

那么,是否有任何命令行实用程序可以处理JavaScript

要了解我的意思,请访问monster.com并尝试寻找一份工作

您将看到Ajax随后将获得作业列表。因此,如果我想根据我的关键字搜索来获取工作,我会得到没有工作的页面


但是通过浏览器它可以工作。

并查看该Ajax请求的URL。然后可以将curl与该URL一起使用。

有两种方法可以处理此问题。使用完全基于浏览器的客户端编写屏幕刮板,如,或者转到实际页面,了解AJAX请求正在做什么,并直接执行请求。当然,您需要解析结果。使用firebug来帮助你

查看这篇文章了解更多关于这个主题的信息。投票赞成的答案建议使用测试工具来驱动真正的浏览器。

我想我可以处理元素。它在中运行,并且有自己的XMLHttpRequest对象,因此您至少应该能够手动运行脚本选择所有标记,获取.js文件,如果它没有自动运行它们,则调用eval。但在运行您不信任的脚本时要小心,因为它们可以使用任何Java类


自从John Resig的第一个版本以来,我就没有玩过它,所以我不知道如何使用它,但有一个问题。

也许您可以尝试在自己的实用程序中使用的功能

HtmlUnit是一种用于 Java程序。它为HTML建模 文档并提供一个API 允许您调用页面、填写 表单、单击链接等。。。就像 您可以在普通浏览器中执行此操作

它有相当好的JavaScript支持 这是一个不断改进的过程 即使在非常复杂的环境下也能工作 AJAX库,模拟 Firefox或Internet Explorer取决于 在要使用的配置上

它通常用于测试 检索信息的目的或方法 来自网站


使用LiveHttpHeaders作为Firefox的插件查看所有URL详细信息,然后将cURL与该URL一起使用。 LiveHttpHeaders显示所有信息,如methodpost或get的类型和头体等。 它还显示标题中的post或get参数 我想这可能会对你有所帮助。

你可以使用PhantomJS

您可以按如下方式使用它:

var page=require("webpage");
page.open("http://monster.com",function(status){
  page.evaluate(function(){
    /* your javascript code here 
        $.ajax("....",function(result){


            phantom.exit(0);
           }); */
  });
});