#!/usr/bin/perl
# 聯禾有線電視宜蘭新聞資料抓取
use Encode::TW;
use LWP::Simple;
use HTML::Parse;
use HTML::Element;
use URI::URL;
#判斷中文斷行用
use Lingua::ZH::Wrap qw(wrap $columns $overflow);
#輸入欄寬
$columns = 65;
$overflow = 1;
$list_base = “http://www.e-lan.net.tw/new/”;
#新聞資料主介面網頁 == http://www.e-lan.net.tw/new/qq.asp
$html = get($list_base.”qq.asp”);
$parsed_html = HTML::Parse::parse_html($html);
for (@{ $parsed_html->extract_links((“a”)) }) {
$link = $_->[0];
$url = new URI::URL $link;
$full_url = $url->abs($ARGV[0]);
#取出 $html 中的超連結,判斷是新聞內容者(Detail.asp)才進一步處理
if ($full_url =~ /Detail/){
$news_entry = $list_base.$full_url;
$news_fetch = parse_html(get ($news_entry))->as_text;
#輸出處理
$news_fetch =~ s/xa0//g; #將 A0H 濾掉
$news_fetch =~ s/(d{2,4}/d{1,2}/d{1,2})/n$1n/g; #將日期換行
$news_fetch =~ s/..首頁/nn/g; #將”回首頁”濾掉
$news_fetch =~ s/oncontextmenu=”window.event.returnvalue=false”//g;
#印出輸出結果,可以修改後產生精華區或布啦布啦的
print “n”.wrap(” “, ” “, $news_fetch).”n”;
}
}