2016-04-28 63 views
0

我想通過perl WWW :: Mechanize從網站(http://www.tdcc.com.tw/smWeb/QryStock.jsp)獲取股票數據。 例如,通過庫存號碼獲取數據: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

的問題是最有可能的是,網站使用JavaScript,這不是由WWW::Mechanize

支持你應該在WWW::Mechanize::Firefox看一看,它使用的Firefox運行副本提供類似的API基本的WWW::Mechanize。您將需要安裝Mozrepl插件的Firefox瀏覽器使其正常工作