如何从这个网站获取查询结果?

时间:2016-04-28 07:59:06

标签: perl www-mechanize

我想通过perl WWW :: Mechanize从网站(http://www.tdcc.com.tw/smWeb/QryStock.jsp)获取股票数据。 例如,通过库存号码获取数据:2330。 下面的代码似乎是POST数据OK,但没有得到像Manual操作那样的响应数据。

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();

1 个答案:

答案 0 :(得分:1)

问题很可能是该网站使用的是JavaScript WWW::Mechanize

不支持的问题

您应该查看WWW::Mechanize::Firefox,它使用Firefox的运行副本为基本WWW::Mechanize提供类似的API。您需要为Firefox安装Mozrepl插件才能使其正常工作