これが何をしているのかです。Firefox の標準のネットワーク インスペクタを使用して、POST 操作のスナップショットを作成しました。私が指摘した他の回答と同様に、これは特によく書かれたWebサイトではないことに注意してください-JS / POSTはまったく使用されるべきではありませんでした.
まず第一に、これが JS です。非常に単純です。
function oMd(pModel_,sModel_){
obj=document.form1;
obj.ModelCategory_.value=pModel_;
obj.ModelSno_.value=sModel_;
obj.Model_Sno.value='';
obj.ModelVer.value='';
obj.action='downloads2008detail.asp';
obj.submit();
}
これらのフィールドに書き込みます:
<input type=hidden name=ModelCategory_ value=''>
<input type=hidden name=ModelSno_ value=''>
したがって、次の URL をターゲットとする POST フォームが必要です。
http://tsd.dlink.com.tw/downloads2008detail.asp
FF のネットワーク アナライザーからのデータ セットの例を次に示します。変更が必要な項目は 2 つだけです (JS リンクから取得します)。これらは通常のスクレイプで取得できます。
- 入力=OK
- モデルカテゴリ=0
- ModelSno=0
- ModelCategory_=DAP
- ModelSno_=1150
- Model_Sno=
- モデルVer=
- sel_PageNo=1
- OS=GPL
実験によって、それらのすべてが必要なわけではないことがわかるでしょう。ブラウザーで GET を使用してみましたが、ターゲット ページが POST を主張しているようです。
それぞれがリモート サーバーでのヒットを表しているため、クリックと送信の間に適切な時間をスクレイパー内に残すことを忘れないでください。人間の遅延をエミュレートして、5 秒をお勧めします。これをあまりにも速く行うと (接続が良好な場合は可能性が高くなります)、リモート側は DoS を行っていると見なし、IP をブロックする可能性があります。スクレイピングのモットーを覚えておいてください: 良いロボットになりましょう!