我需要抓取具有 AJAX 和 SESSIONS 的网站表单(即时)。我做了很多研究,发现了几种可能的解决方案,其中之一是 Python::Mechanize。我不知道python和cURL PHP
(据我了解)无法处理AJAX或提交表单。
我发现我认为可能的堆栈可以引导我走向优雅:)。问题是我根本不知道如何使用这些包。
我下载并安装了 NODEjs,我可以从 cmd 调用它。(伟大的)
我下载并安装了 PhantomJS(不知道如何设置它
PATH
以便它是动态的,所以我必须手动cd
在 CMD 中DIR
加载它)如何在 Windows 7 中设置它?不知道在哪里指向路径。下载的 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();
});