gpt4 book ai didi

javascript - 如何在 Windows 7 上使用 NodeJS/PhantomJS/CasperJS

转载 作者:行者123 更新时间:2023-11-30 18:18:43 24 4
gpt4 key购买 nike

我需要抓取一个具有 AJAX 和 SESSIONS 的网站表单(即时)。我做了很多研究,发现了几种可能的解决方案,其中之一是 Python::Mechanize。我不知道单独用于 PHP 的 python 和 cURL(根据我的理解)无法处理 AJAX 或提交表单。

我发现我认为可能的堆栈可以引导我走向优雅 :)。问题是我根本不知道如何使用这些包。

  1. 我下载并安装了 NODEjs,我可以从 cmd 调用它。 (很棒)

  2. 我下载并安装了 PhantomJS(不确定如何设置 PATH 以便它是动态的,所以我必须在 CMD 中手动 cdDIR 让它加载)我如何在 Windows 7 中设置它?不确定将路径指向何处。

  3. 下载 CasperJS - 放入 DIR

因此,在 phantomjs 上,我能够运行一个测试文件,该文件在 CMD 提示符下回显“hello world”。现在我不知道如何进行。 - 最终我需要它从我的网络服务器运行(即时) - 所以它需要在我的网页中实现。截至目前,我只想从 CMD 运行它并让它转到页面、提交表单、抓取结果并将其写入文件。

有人可以解释一下我如何完成这个的工作流程吗?

CasperJS -> 显示了这个表单示例。我想用我的变量来实现,运行脚本并保存结果。

casper.start('http://some.tld/contact.form', function() {
this.fill('form#contact-form', {
'subject': 'I am watching you',
'content': 'So be careful.',
'civility': 'Mr',
'name': 'Chuck Norris',
'email': 'chuck@norris.com',
'cc': true,
'attachment': '/Users/chuck/roundhousekick.doc'
}, true);
});

casper.then(function() {
this.evaluateOrDie(function() {
return /message sent/.test(document.body.innerText);
}, 'sending message failed');
});

casper.run(function() {
this.echo('message sent').exit();
});

最佳答案

安装 PhantomJS 后执行下一步:

  1. 在桌面上,右键单击“我的电脑”,然后单击“属性”。
  2. 点击左侧栏中的“高级系统设置”链接。
  3. 在“系统属性”窗口中单击“环境变量”按钮。
  4. 找到 PATH 变量并点击编辑
  5. 在变量值末尾添加 PhantomJS 路径(不要忘记在它之前加上 ;)

现在您可以从您的 CMD 使用 phantomjs。例如:phantomjs c:\mywebsite\with\ajax\dopescript.js

完成这些步骤后,下载 CasperJS 并将其放入 PhantomJS 文件夹

例如:c:\phantomjs\casperjs

对 CasperJS 的 PATH 变量执行前面的步骤(在末尾加上\bin)

例如:c:\phantomjs\casperjs\bin

从 CMD 尝试 casperjs。

如果它不工作,请转到 casperjs 文件夹中的 batchbin 目录并午餐 casperjs.bat

现在尝试从此文件夹调用 CasperJs。 (为我工作)

所以现在您应该拥有 PhantomJS + CasperJS。

关于保存结果:

将此 var fs = require('fs'); 放在脚本的开头并调用

fs.write('result.html', myData); 其中 myData 是您需要保存的数据。

这里是关于 FS 的更多信息: PhantomJS File System

关于javascript - 如何在 Windows 7 上使用 NodeJS/PhantomJS/CasperJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12650274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com