最近在看 .NET Core 的文章,
今天終於比較有空,於是就開始試著動手做做看。

chenys 發表在 痞客邦 留言(0) 人氣()

最近做了一個純 JS 與 HTML 的專案。
一開始使用 chrome 開發與測試,要上線的時候,開始測試其他的瀏覽器,
發現在 IE 9 跟 IE 11 ( 沒測試過 IE 10 ),
常常會出現一個「無法執行已被釋放的 Script 代碼」的錯誤,

chenys 發表在 痞客邦 留言(0) 人氣()

如果安裝active perl,預設就有裝這個套件了。
基本用法:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
my $URL = '想抓取的網址';
$mech->get( $URL );
要取得回應的資料。
my $html = $mech->response->content;
這一版的WWW::Mechanize抓取的時候,網頁常有亂碼,
所以在網路上找到了一個solution。
先安裝Encode-Detect-CJK。
使用方法:
use Encode;
use Encode::Detect::CJK qw/detect/;
my $html = $mech->response->decoded_content(charset => 'none');
my $charset = detect($html);
$html = decode( $charset, $html, Encode::FB_XMLCREF );
這時$html即為頁面之content。
WWW::Mechanize對於抓取第一次連進去需看版權宣告之類的網頁,
有一個很好用的方法。
如果頁面單純只有一個form,那我們只要:
$mech->submit();
如果需要勾選一些資料,而且不只一個form:
(假設有一個下拉選單,name是ddl,還有一個radiobutton,name是rb)
$mech->submit_form(
form_name => 'form的name',
fields => {
ddl => '這個值給下拉選單的value',
rb => '這個值塞你要選取的radiobutton是第幾個,第一個值是1,以此類推',
}
);
如果欲抓取之頁面要一直點hyper link,而且中間又一直轉址,有一個follow link可以使用。
#若同一組文字不只一個,n表示為第幾個。
$mech->follow_link(n => 數字, text => '此hyper link之文字');
所以也有以下用法:
$mech->follow_link(n => 數字); #直接連第幾個連結
更多用法請參考
CPAN上關於WWW::Mechanize的介紹

chenys 發表在 痞客邦 留言(0) 人氣()

使用XML::TreeBuilder,
所以請先從ppm安裝。

# -- 建新的XML Tree --
my $tree = XML::TreeBuilder->new;

chenys 發表在 痞客邦 留言(0) 人氣()

如果是裝Active Perl,元件預設就有裝了。

#!perl -w

use strict;

chenys 發表在 痞客邦 留言(0) 人氣()

記得先安裝DBI跟DBD::ODBC。

#!perl -w

use strict;

chenys 發表在 痞客邦 留言(0) 人氣()







chenys 發表在 痞客邦 留言(0) 人氣()

1
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。