- Feb 25 Mon 2019 16:24
-
.NET Core Debug in VS Code
- Apr 19 Sat 2014 10:53
-
[JS][IE] 無法執行已被釋放的 Script 代碼
最近做了一個純 JS 與 HTML 的專案。
一開始使用 chrome 開發與測試,要上線的時候,開始測試其他的瀏覽器,
發現在 IE 9 跟 IE 11 ( 沒測試過 IE 10 ),
常常會出現一個「無法執行已被釋放的 Script 代碼」的錯誤,
一開始使用 chrome 開發與測試,要上線的時候,開始測試其他的瀏覽器,
發現在 IE 9 跟 IE 11 ( 沒測試過 IE 10 ),
常常會出現一個「無法執行已被釋放的 Script 代碼」的錯誤,
- Nov 30 Tue 2010 10:35
-
[Perl] WWW::Mechanize 相關基本用法
如果安裝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的介紹
基本用法:
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的介紹
- Nov 12 Fri 2010 10:33
-
[Perl] PARSE XML
- Nov 02 Tue 2010 19:01
-
[Perl] 使用外部 SMTP 寄信
- Nov 02 Tue 2010 11:51
-
[Perl] 連結 MSSQL 資料庫
- May 22 Fri 2009 14:43
-
[MV] 徐佳瑩_身騎白馬
1