- 論壇徽章:
- 0
|
本帖最后由 yhyhh 于 2011-07-26 12:22 編輯
小女子編寫了一段perl腳本,來調(diào)用 "http://www.ip138.com:8080/search.asp" 進行 手機號碼歸屬地查詢。包含查詢結(jié)果的網(wǎng)頁內(nèi)容被存入一個字符串中,本人期望只提取手機號碼歸屬地這一項字串,不知道如何實現(xiàn)關(guān)于這段字符串的模式匹配。忘高手指教!多謝多謝!
1. 程序源文件
************************************************************
test_ipcheck_v3.pl
************************************************************
#!/usr/bin/perl -w
use warnings;
use URI;
use LWP;
use Encode;
#用法 ip138search.pl iplist.txt
#以iplist.txt為參數(shù),傳入給變量$filename
my $filename=$ARGV[0];
open(FILE,$filename) || die "faile";
my $line = '0';
while($line=<FILE>){
chomp($line);
my $url=URI->new('http://www.ip138.com:8080/search.asp');
$url->query_form('mobile' => $line);
my $browser = LWP::UserAgent->new;
my $response = $browser->get($url);
if($response -> is_success) {
$value = $response -> decoded_content;
#中文解碼
$out = encode("gb2312",$value);
}
else {
die $response -> status_line;
}
#M模式匹配
$str = $out;
$str =~ m/您查詢的手機號碼段:\s*/;
print "$line \n";
#print "$str";
}
close(FILE);
************************************************************
2. 當(dāng)前程序運行情況:
************************************************************
C:\MyPractice\Perl>Test_ipcheck_v3.pl mobilelist_v1.txt
1340001
************************************************************
3. 期望程序運行情況:
************************************************************
C:\MyPractice\Perl>Test_ipcheck_v3.pl mobilelist_v1.txt
1340001 江蘇 無錫
************************************************************
4. 個人理解的備注:
************************************************************
a. 這段代碼的問題出在模式配置,不知道如何修改才好。求高手賜教!不甚感激!
b. 程序中變量out為包含查詢結(jié)果的網(wǎng)頁內(nèi)容的xml格式信息,而本人希望提取的是下面table中號碼歸屬地的相關(guān)信息,希望能夠與這一段信息進行模式匹配,然后作為運行結(jié)果輸出
<TABLE width=349 border="1" align="center" cellpadding="4" bordercolor=#3366cc style="border-collapse: collapse">
<TR>
<TD colspan=2 class=tdc1 align=center height=24 bgcolor=#6699cc>++ ip138.com查詢結(jié)果 ++</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD width="130" align="center" noswap>您查詢的手機號碼段</TD>
<TD width=* align="center" class=tdc2>1340001</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align="center">卡號歸屬地</td><!-- <td width="130" align="center">卡號歸屬地</TD> -->
<TD class="tdc2" align="center">江蘇 無錫</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<!-- <td width="130" align="center" noswap></td> --><TD width="130" align="center" noswap>卡 類 型</td><td align="center" class='tdc2'>移動全球通卡</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align="center">區(qū) 號</TD>
<!-- <td></td> --><TD align="center" class=tdc2>0510</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align="center">郵 編</TD>
<TD align="center" class=tdc2>214000 <a href="http://alexa.ip138.com/post/" target="_blank">更詳細(xì)的..</a></TD></TR>
</TABLE> |
|