AJAX と SESSIONS を含む Web サイト フォーム (オンザフライ) をスクレイピングする必要があります。私は多くの調査を行い、Python::Mechanize であるいくつかの可能な解決策に出くわしました。PHP
(私の理解から)AJAXを処理したりフォームを送信したりできないため、PythonとcURLだけではわかりません。
私は、私を恵みに導く可能性のあるスタックであると信じているものを見つけました:)。問題は、これらのパッケージの使い方がまったくわからないことです。
NODEjs をダウンロードしてインストールし、cmd から呼び出すことができます。(すごい)
PhantomJS をダウンロードしてインストールしました (動的にセットアップする方法がわからないため、CMD
PATH
で手動でロードする必要があります) Windows 7 でこれをセットアップするにはどうすればよいですか? パスを指す場所がわからない。cd
DIR
ダウンロードされたCasperJS - DIRに入れます
したがって、phantomjs では、CMD プロンプトで「hello world」をエコーするテスト ファイルを実行できました。そして今、私はここでどうすればよいのかわかりません。-最終的には、これを Web サーバーから (オンザフライで) 実行する必要があるため、Web ページに実装する必要があります。今のところ、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();
});