2016-04-28 8 views
0

私はウェブサイト(http://www.tdcc.com.tw/smWeb/QryStock.jsp)から株データをperl WWW :: Mechanize経由で取得したいと考えています。 たとえば、在庫番号:2330でデータを取得します。 以下のコードはPOSTデータのようですが、手動操作のような応答データは得られません。このウェブサイトからどのようにクエリ結果を取得するのですか?

use WWW::Mechanize; 

my $stockno= '2330'; 
my $scadate= '20160422'; 
my $mech=WWW::Mechanize->new(); 

my $url='http://www.tdcc.com.tw/smWeb/QryStock.jsp'; 
$mech->get($url); 
$mech->success or die $mech->response->status_line; 
$mech->form_number(1); 
$mech->field('SCA_DATE' => $scadate); 
$mech->field('SqlMethod' => 'StockNo'); 
$mech->field('StockNo' => $stockno); 
$mech->field('StockName' => ''); 
$mech->field('sub' => '查詢'); 
$mech->click_button('name' => 'sub'); 
$mech->success or die "post failed: ", $mech->response->status_line; 
print $mech->response->status_line, "\n"; 
print $mech->response->content(); 
+0

それは私には大丈夫です。何がうまくいかないのですか? – Borodin

+0

結果/出力のサンプルを追加してください。 – Sebastian

答えて

1

問題は、あなたが同様のAPIを提供するためのFirefoxの実行中のコピーを使用した、WWW::Mechanize::Firefoxを見てみなければならないWWW::Mechanize

によってサポートされていない、サイトではJavaScriptを使用している可能性が高いです基本WWW::Mechanize。 Firefoxが正しく動作するためには、Mozreplプラグインをインストールする必要があります。

関連する問題