亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 奔潰中,請(qǐng)教一個(gè)關(guān)于perl腳本模式匹配的問(wèn)題 [打印本頁(yè)]

作者: yhyhh    時(shí)間: 2011-07-24 18:40
標(biāo)題: 奔潰中,請(qǐng)教一個(gè)關(guān)于perl腳本模式匹配的問(wèn)題
本帖最后由 yhyhh 于 2011-07-26 12:22 編輯

小女子編寫了一段perl腳本,來(lái)調(diào)用 "http://www.ip138.com:8080/search.asp" 進(jìn)行 手機(jī)號(hào)碼歸屬地查詢。包含查詢結(jié)果的網(wǎng)頁(yè)內(nèi)容被存入一個(gè)字符串中,本人期望只提取手機(jī)號(hào)碼歸屬地這一項(xiàng)字串,不知道如何實(shí)現(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/您查詢的手機(jī)號(hào)碼段:\s*/;
print "$line \n";
#print "$str";
}
close(FILE);
************************************************************


2. 當(dāng)前程序運(yùn)行情況:
************************************************************
C:\MyPractice\Perl>Test_ipcheck_v3.pl mobilelist_v1.txt
1340001
************************************************************


3. 期望程序運(yùn)行情況:
************************************************************
C:\MyPractice\Perl>Test_ipcheck_v3.pl mobilelist_v1.txt
1340001 江蘇 無(wú)錫
************************************************************


4. 個(gè)人理解的備注:
************************************************************
a. 這段代碼的問(wèn)題出在模式配置,不知道如何修改才好。求高手賜教!不甚感激!
b. 程序中變量out為包含查詢結(jié)果的網(wǎng)頁(yè)內(nèi)容的xml格式信息,而本人希望提取的是下面table中號(hào)碼歸屬地的相關(guān)信息,希望能夠與這一段信息進(jìn)行模式匹配,然后作為運(yù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>您查詢的手機(jī)號(hào)碼段</TD>
                <TD width=* align="center" class=tdc2>1340001</TD>
        </TR>
        <TR class=tdc bgcolor=#EFF1F3>
                <TD align="center">卡號(hào)歸屬地</td><!-- <td width="130" align="center">卡號(hào)歸屬地</TD> -->
<TD class="tdc2" align="center">江蘇&nbsp;無(wú)錫</TD>
        </TR>
        <TR class=tdc bgcolor=#EFF1F3>
<!-- <td width="130" align="center" noswap></td> --><TD width="130" align="center" noswap>卡&nbsp;類&nbsp;型</td><td align="center" class='tdc2'>移動(dòng)全球通卡</TD>
        </TR>
        <TR class=tdc bgcolor=#EFF1F3>
                <TD align="center">區(qū) 號(hào)</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>
作者: txh_zyy    時(shí)間: 2011-07-24 19:36
沒(méi)看你的模式匹配,但你最后print $line; 豈不是只把iplist.txt里的的值輸出來(lái)了!
作者: yhyhh    時(shí)間: 2011-07-24 22:16
沒(méi)看你的模式匹配,但你最后print $line; 豈不是只把iplist.txt里的的值輸出來(lái)了!
txh_zyy 發(fā)表于 2011-07-24 19:36



   謝謝大俠回復(fù),iplist.txt中的值其實(shí)就是輸入的想要查詢的號(hào)碼段,這個(gè)號(hào)碼段 + 號(hào)碼歸屬地 就是小女子期望的程序運(yùn)行輸出結(jié)果了。

這里再補(bǔ)充追問(wèn)一句,如果print 那個(gè)語(yǔ)句改成這樣子呢?目前按照?qǐng)?zhí)行情況來(lái)說(shuō),print語(yǔ)句改或不改,執(zhí)行結(jié)果都是一樣的。

哎,那個(gè)號(hào)碼歸屬地,不知道怎么樣才能把它正確地解析并且輸出出來(lái)。

print "$line $1 \n";
作者: iakuf    時(shí)間: 2011-07-24 23:21
本帖最后由 iakuf 于 2011-07-24 23:22 編輯
  1. #!/usr/bin/perl -w
  2. use warnings;
  3. use URI;
  4. use LWP;
  5. use Encode;
  6. use Web::Scraper;

  7. #用法 ip138search.pl iplist.txt
  8. #以iplist.txt為參數(shù),傳入給變量$filename
  9. my $filename=$ARGV[0];
  10. open(FILE,$filename) || die "faile";
  11. my $line = '0';
  12. while($line=<FILE>){
  13.     chomp($line);

  14.     my $url = "http://www.ip138.com:8080/search.asp?action=mobile&mobile=$line";
  15.     my $ua  = LWP::UserAgent->new;
  16.     my $res = $ua->get( $url);  

  17.     if($res->is_success) {
  18.         my $value = $res->decoded_content;
  19.         my $out = encode("utf-8",$value);

  20.         my $scraper = scraper {
  21.             process '/html/body/table[2]/*/td','comment[]' => 'TEXT';
  22.         };  
  23.         my $result = $scraper->scrape( $out );
  24.         print "$result->{comment}[1]\t$result->{comment}[2]\t";
  25.         print "$result->{comment}[3]\t$result->{comment}[4]\n";
  26.     }   
  27.     else {
  28.         die $res->status_line;
  29.     }   
  30. }
  31. close(FILE);
復(fù)制代碼
這個(gè)可以達(dá)到你的要求,使用 Web::Scraper 來(lái)解碼網(wǎng)頁(yè)吧,會(huì)容易多了,妹子,想了解這個(gè)可以看 http://www.php-oa.com/2010/11/30/perl-web-scraper.html 這個(gè)中使用 Web::Scraper 的例子
作者: Kitaisky    時(shí)間: 2011-07-25 03:06
本帖最后由 Kitaisky 于 2011-07-25 03:28 編輯

聽(tīng)樓上的勸;如果非得執(zhí)迷不悟的話,看下面這個(gè):


#!/usr/bin/perl -w

use strict;
use warnings;

{
local $/;

  while (my $lines = <DATA>) {

    $lines =~ /<TD.+?(您查詢的手機(jī)號(hào)碼段).+?(?:<td.+?<\/td>.+?){3}<td.+?>(.+?)<\/td>\r?\n/is;

    print "$1:\t", "$2\n";

  }
}

## $lines =~ /<TD.+?(您查詢的手機(jī)號(hào)碼段)     # Start the fun, with $1=您查詢的手機(jī)號(hào)碼段

## .+?(?:<td.+?<\/td>.+?){3}         ## Bump along 3 pairs of <td>...</td>

##<td.+?>(.+?)<\/td>\r?\n/isx      ## in the 4th pair is my $2= 江蘇&nbsp;無(wú)錫


__DATA__
<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>您查詢的手機(jī)號(hào)碼段</TD>
                <TD width=* align="center" class=tdc2>1340001</TD>
        </TR>
        <TR class=tdc bgcolor=#EFF1F3>
                <TD align="center">卡號(hào)歸屬地</td><!-- <td width="130" align="center">卡號(hào)歸屬地</TD> -->
<TD class="tdc2" align="center">江蘇&nbsp;無(wú)錫</TD>
        </TR>
        <TR class=tdc bgcolor=#EFF1F3>
<!-- <td width="130" align="center" noswap></td> --><TD width="130" align="center" noswap>卡&nbsp;類&nbsp;型</td><td align="center" class='tdc2'>移動(dòng)全球通卡</TD>
        </TR>
        <TR class=tdc bgcolor=#EFF1F3>
                <TD align="center">區(qū) 號(hào)</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>
作者: yhyhh    時(shí)間: 2011-07-25 20:56
本帖最后由 yhyhh 于 2011-07-25 20:58 編輯
這個(gè)可以達(dá)到你的要求,使用 Web::Scraper 來(lái)解碼網(wǎng)頁(yè)吧,會(huì)容易多了,妹子,想了解這個(gè)可以看  這個(gè)中使用 ...
iakuf 發(fā)表于 2011-07-24 23:21


小女子試了大俠介紹的方法,用web::Scraper, 執(zhí)行結(jié)果如下:

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Can't locate Web/Scraper.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:\MyPractice\Perl\Test_ipcheck_v
5.pl line 6.
BEGIN failed--compilation aborted at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.

看起來(lái)是否我的perl安裝文件里缺少了某些類庫(kù)了呢?我的電腦系統(tǒng)是windows 7.0, 裝的是activePerl.  version =  ActivePerl-5.14.1.1401-MSWin32-x86-294969.
作者: txh_zyy    時(shí)間: 2011-07-25 20:59
小女子試了大俠介紹的方法,用web::Scraper, 執(zhí)行結(jié)果如下:

C:\MyPractice\Perl>Test_ipcheck_v5. ...
yhyhh 發(fā)表于 2011-07-25 20:56


妹子,到cpan上把這個(gè)模塊找到,裝上!或者用cpanm裝
作者: yhyhh    時(shí)間: 2011-07-25 21:38
本帖最后由 yhyhh 于 2011-07-25 21:42 編輯
妹子,到cpan上把這個(gè)模塊找到,裝上!或者用cpanm裝
txh_zyy 發(fā)表于 2011-07-25 20:59



    目前我找到的:
http://search.cpan.org/~miyagawa ... /lib/Web/Scraper.pm
這個(gè)地方的 “Web-Scraper-0.34”, 下載下來(lái)了,然后怯怯地說(shuō),有點(diǎn)不知所措啊。

我把它放到了這個(gè)目錄下:

C:\MyPractice\Web-Scraper-0.34.
perl 的安裝目錄是: C:\MyPractice\Perl\.

然后運(yùn)行了一下C:\MyPractice\Web-Scraper-0.34\Makefile.pl, 似乎生成了一些新文件。
同時(shí)在這個(gè)目錄 "C:\MyPractice\Web-Scraper-0.34\lib\Web\" 下,我找到了 Scraper.pm。 接下來(lái)怎么辦呢?直接把文件拷貝到 perl的目錄: C:/Perl/lib 下面嗎?
作者: yhyhh    時(shí)間: 2011-07-25 21:47
更新最新進(jìn)展啊。

我把目錄 C:\MyPractice\Web-Scraper-0.34\lib\Web  CP成 C:\Perl\lib\Web.

第一個(gè)報(bào)錯(cuò)解決了,現(xiàn)在運(yùn)行pl文件,顯示如下結(jié)果:

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Can't locate HTML/TreeBuilder/XPath.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/lib/Web/Scrape
r.pm line 10.
BEGIN failed--compilation aborted at C:/Perl/lib/Web/Scraper.pm line 10.
Compilation failed in require at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.
BEGIN failed--compilation aborted at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.

C:\MyPractice\Perl>
作者: yhyhh    時(shí)間: 2011-07-25 21:55
如法炮制,這個(gè)問(wèn)題也解決了,進(jìn)一步更新最新進(jìn)展。

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Can't locate XML/XPathEngine.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/lib/HTML/TreeBuilder/
XPath.pm line 103.
BEGIN failed--compilation aborted at C:/Perl/lib/HTML/TreeBuilder/XPath.pm line 103.
Compilation failed in require at C:/Perl/lib/Web/Scraper.pm line 10.
BEGIN failed--compilation aborted at C:/Perl/lib/Web/Scraper.pm line 10.
Compilation failed in require at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.
BEGIN failed--compilation aborted at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.

C:\MyPractice\Perl>

接著找?guī)煳募~~~
作者: yhyhh    時(shí)間: 2011-07-25 21:56
難道真的要這樣子一個(gè)一個(gè)添加嗎?有點(diǎn)疑惑了?
作者: yhyhh    時(shí)間: 2011-07-25 22:05
好吧,精衛(wèi)填海,麻雀筑巢中~~~,一個(gè)一個(gè)地補(bǔ)充庫(kù)文件。是這樣子的嗎?

是不是重新?lián)Q個(gè)activeperl的安裝文件會(huì)好一些呢?


C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Can't locate XML/XPathEngine.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/lib/HTML/TreeBuilder/
XPath.pm line 103.
BEGIN failed--compilation aborted at C:/Perl/lib/HTML/TreeBuilder/XPath.pm line 103.
Compilation failed in require at C:/Perl/lib/Web/Scraper.pm line 10.
BEGIN failed--compilation aborted at C:/Perl/lib/Web/Scraper.pm line 10.
Compilation failed in require at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.
BEGIN failed--compilation aborted at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.

C:\MyPractice\Perl>
C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Can't locate HTML/Selector/XPath.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/lib/Web/Scraper.p
m line 11.
BEGIN failed--compilation aborted at C:/Perl/lib/Web/Scraper.pm line 11.
Compilation failed in require at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.
BEGIN failed--compilation aborted at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Can't locate UNIVERSAL/require.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/lib/Web/Scraper.pm
line 12.
BEGIN failed--compilation aborted at C:/Perl/lib/Web/Scraper.pm line 12.
Compilation failed in require at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.
BEGIN failed--compilation aborted at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.

C:\MyPractice\Perl>
作者: yhyhh    時(shí)間: 2011-07-25 22:10
本帖最后由 yhyhh 于 2011-07-26 12:25 編輯

呵呵,守得云開(kāi)見(jiàn)月明了。不過(guò)好像中文解碼錯(cuò)了,好吧,待小女子把如下解碼方式變一變?cè)賮?lái)檢驗(yàn)一番程序運(yùn)行結(jié)果。

encode("gb2312",$value) --》 encode("utf-8",$value)


Anyway,終于有輸出結(jié)果了啊,看到浙江兩個(gè)字,興奮之情不禁溢于言表。

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
1.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
1.
        1396703         浙江犪櫓?

C:\MyPractice\Perl>
作者: yhyhh    時(shí)間: 2011-07-25 22:12
O my god, 改了編碼方式之后,更加認(rèn)不得了。

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Parsing of undecoded UTF-8 will give garbage when decoding entities at C:/Perl/lib/Web/Scraper.pm line 116, <FILE> line
1.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
1.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
1.
        1396703         嫻欐睙犺、宸?

C:\MyPractice\Perl>
作者: yhyhh    時(shí)間: 2011-07-25 22:17
本帖最后由 yhyhh 于 2011-07-26 13:02 編輯

按“fukai” 的鏡像TX --> ' iakuf ' 于三樓的提出的建議代碼,程序執(zhí)行結(jié)果如下:

C:\MyPractice\Perl>Test_ipcheck_v6.pl mobilelist_v1.txt
Parsing of undecoded UTF-8 will give garbage when decoding entities at C:/Perl/lib/Web/Scraper.pm line 116, <FILE> line
1.
鎮(zhèn)ㄦ煡璇㈢殑鎵嬫満鍙風(fēng)爜孌?1396703      鍗″彿褰掑睘鍦?嫻欐睙犺、宸?

C:\MyPractice\Perl>

還是有問(wèn)題? 請(qǐng)問(wèn)扶凱TX 還能出來(lái)作些補(bǔ)充解答嗎? 小女子不甚感激!
作者: yhyhh    時(shí)間: 2011-07-25 22:22
妹子,到cpan上把這個(gè)模塊找到,裝上!或者用cpanm裝
txh_zyy 發(fā)表于 2011-07-25 20:59



      多謝大俠的建議,現(xiàn)在我是很笨拙地去"http://search.cpan.org/"里把庫(kù)文件逐個(gè)兒搜索出來(lái),然后加到perl的lib中去的,原來(lái)的問(wèn)題是解決了。
    本著虛心求教,不懂就問(wèn),打破沙鍋問(wèn)到底的學(xué)習(xí)精神,想再問(wèn)大俠一句,"用cpanm裝"是什么意思呢?我相信魔鬼藏于細(xì)節(jié)之中,對(duì)您老這句話不甚理解,肯定是錯(cuò)過(guò)了一些有用信息的。望勿要見(jiàn)怪!
作者: yhyhh    時(shí)間: 2011-07-25 22:33
本帖最后由 yhyhh 于 2011-07-26 12:28 編輯

匯報(bào)最新進(jìn)展 & 期待最終解決方案。

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
您查詢的手機(jī)號(hào)碼段      1340001 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340002 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340003 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340004 卡號(hào)歸屬地      江蘇犖尬?

C:\MyPractice\Perl>


中文編碼方式是 “gb2312”
作者: yhyhh    時(shí)間: 2011-07-25 23:19
本帖最后由 yhyhh 于 2011-07-26 12:27 編輯

為什么批量執(zhí)行查詢電話號(hào)碼,會(huì)變成這樣子的結(jié)果呢:

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
您查詢的手機(jī)號(hào)碼段      1340001 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340002 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340003 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340004 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340005 卡號(hào)歸屬地      江蘇犇暇?
您查詢的手機(jī)號(hào)碼段      1340006 卡號(hào)歸屬地      江蘇犇暇?
您查詢的手機(jī)號(hào)碼段      1340007 卡號(hào)歸屬地      江蘇犇暇?
您查詢的手機(jī)號(hào)碼段      1340008 卡號(hào)歸屬地      江蘇犝蚪?
您查詢的手機(jī)號(hào)碼段      1340009 卡號(hào)歸屬地      江蘇犝蚪?
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
10.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
10.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
10.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
10.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
11.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
11.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
11.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
11.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
12.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
12.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
12.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
12.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
13.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
13.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
13.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
13.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
14.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
14.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
14.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
14.


mobilelist_v1.txt 文件內(nèi)容為:

1340001
1340002
1340003
1340004
1340005
1340006
1340007
1340008
1340009
1340010
1340011
1340012
1340013
1340014
1340015
1340016
1340017
1340018
1340019
1340020
作者: flw    時(shí)間: 2011-07-26 04:24
選擇了 Perl,卻不懂得如何安裝 CPAN 模塊,這到底有沒(méi)有正兒八經(jīng)把 Perl 黨走吃飯的家伙對(duì)待呀?

一個(gè)一個(gè)下載下來(lái) copy 到 lib 目錄,你可真有才。隨便一本書上都有講怎么安裝 Perl 模塊的。

還是先端正態(tài)度吧。你不好好學(xué) Perl,Perl 就不會(huì)讓你爽。
作者: zhlong8    時(shí)間: 2011-07-26 09:19
知道用 search.cpan.org 卻不知道用 CPAN 命令的人才啊
作者: seufy88    時(shí)間: 2011-07-26 09:26
知道用 search.cpan.org 卻不知道用 CPAN 命令的人才啊
zhlong8 發(fā)表于 2011-07-26 09:19



我好像也沒(méi)用過(guò) -MCPAN,我喜歡自己從cpan.org上下下來(lái)再手動(dòng)安裝,有一次連續(xù)裝了六十多個(gè)模塊,那依賴性讓我快瘋了
作者: zhlong8    時(shí)間: 2011-07-26 09:41
我好像也沒(méi)用過(guò) -MCPAN,我喜歡自己從cpan.org上下下來(lái)再手動(dòng)安裝,有一次連續(xù)裝了六十多個(gè)模塊,那依 ...
seufy88 發(fā)表于 2011-07-26 09:26



    不喜歡和不懂是兩碼事,嫌手工安裝麻煩才有了 CPAN 模塊,還是麻煩才有了 ppm 和 cpanm。大家都已經(jīng)到工業(yè)時(shí)代了你還在手工勞動(dòng)
作者: seufy88    時(shí)間: 2011-07-26 09:52
回復(fù) 22# zhlong8


    之前用perl的電腦不能上網(wǎng)阿。。。。 手工也蠻好的,對(duì)本機(jī)上的模塊更加了解嘛。就像喜歡用源代碼編譯安裝一樣,具體安在哪,安了多少,編譯時(shí)支持了什么沒(méi)支持什么,庫(kù)新增多少等都了如直掌,用rpm安裝后就感覺(jué)“太亂了”,我對(duì)它沒(méi)有控制力。zhlong8見(jiàn)笑了。
作者: zhlong8    時(shí)間: 2011-07-26 10:04
回復(fù)  zhlong8


    之前用perl的電腦不能上網(wǎng)阿。。。。 手工也蠻好的,對(duì)本機(jī)上的模塊更加了解 ...
seufy88 發(fā)表于 2011-07-26 09:52



    只是看到以不喜歡為由拒絕好東西的時(shí)候會(huì)反省,或者強(qiáng)迫別人反省

    能分享下你手工安裝的收獲嗎?我覺(jué)得用處不大;蛘吣憧梢詫W(xué)下 CPAN::Mini 順便建個(gè)本地鏡像
作者: seufy88    時(shí)間: 2011-07-26 10:19
只是看到以不喜歡為由拒絕好東西的時(shí)候會(huì)反省,或者強(qiáng)迫別人反省

    能分享下你手 ...
zhlong8 發(fā)表于 2011-07-26 10:04



    你們都用CPAN來(lái)安裝模塊嗎??好吧,我過(guò)會(huì)試一試。之前真的習(xí)慣了,F(xiàn)在努力改用一下 好東西當(dāng)然不能拒絕啦
作者: yhyhh    時(shí)間: 2011-07-26 12:09
本帖最后由 yhyhh 于 2011-07-26 12:31 編輯
選擇了 Perl,卻不懂得如何安裝 CPAN 模塊,這到底有沒(méi)有正兒八經(jīng)把 Perl 黨走吃飯的家伙對(duì)待呀?

一個(gè)一 ...
flw 發(fā)表于 2011-07-26 04:24



      惹惱版主了,十分抱歉啊。小女子曾經(jīng)做過(guò)些許時(shí)間程序員,用過(guò)c++ 和 java,現(xiàn)在不是了呢,本職工作與perl毫無(wú)關(guān)聯(lián)。知道自己不是那塊料,所以轉(zhuǎn)型了。這次用到perl屬于偶然,是自己在業(yè)余時(shí)間琢磨著完成一個(gè)小項(xiàng)目過(guò)程中遇到的,網(wǎng)上搜遍資料,得出建議用perl實(shí)現(xiàn)較為容易。小女子聽(tīng)聞ChinaUnix的論壇的perl板塊是一個(gè)很專業(yè)的perl學(xué)習(xí)交流之所,高手云集,誠(chéng)心上來(lái)求教一二啊。望見(jiàn)諒,望海涵。
作者: yhyhh    時(shí)間: 2011-07-26 12:19
本帖最后由 yhyhh 于 2011-07-26 12:32 編輯

為什么批量執(zhí)行查詢電話號(hào)碼,會(huì)變成這樣子的結(jié)果呢:

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
您查詢的手機(jī)號(hào)碼段      1340001 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340002 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340003 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340004 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340005 卡號(hào)歸屬地      江蘇犇暇?
您查詢的手機(jī)號(hào)碼段      1340006 卡號(hào)歸屬地      江蘇犇暇?
您查詢的手機(jī)號(hào)碼段      1340007 卡號(hào)歸屬地      江蘇犇暇?
您查詢的手機(jī)號(hào)碼段      1340008 卡號(hào)歸屬地      江蘇犝蚪?
您查詢的手機(jī)號(hào)碼段      1340009 卡號(hào)歸屬地      江蘇犝蚪?
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
10.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
10.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
10.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
10.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
11.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
11.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
11.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
11.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
12.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
12.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
12.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
12.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
13.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
13.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
13.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
13.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
14.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
14.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
14.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
14.


mobilelist_v1.txt 文件內(nèi)容為:

1340001
1340002
1340003
1340004
1340005
1340006
1340007
1340008
1340009
1340010
1340011
1340012
1340013
1340014
1340015
1340016
1340017
1340018
1340019
1340020
作者: txh_zyy    時(shí)間: 2011-07-26 13:18
多謝大俠的建議,現(xiàn)在我是很笨拙地去"http://search.cpan.org/"里把庫(kù)文件逐個(gè)兒搜索出來(lái),然后 ...
yhyhh 發(fā)表于 2011-07-25 22:22



   網(wǎng)上搜下吧,很多安裝方法的!cpanm也是一種,比較方便
作者: yhyhh    時(shí)間: 2011-07-26 14:17
本帖最后由 yhyhh 于 2011-07-26 14:27 編輯
網(wǎng)上搜下吧,很多安裝方法的!cpanm也是一種,比較方便
txh_zyy 發(fā)表于 2011-07-26 13:18



    關(guān)于安裝的問(wèn)題,目前所用workround姑且有效,待到有時(shí)間再好好研習(xí)一番啊。

   眼下的問(wèn)題是關(guān)于程序結(jié)果的輸出,有2個(gè)問(wèn)題:
        1. 中文解碼問(wèn)題, 為什么江蘇后面會(huì)跟上一對(duì)亂碼呢? 期望的結(jié)果是“江蘇 無(wú)錫”等之類。是不是因?yàn)檫@里面包含了一個(gè)空格符呢?
        2. 如果在傳入?yún)?shù)的文件:mobilelist_v1.txt中列入多個(gè)號(hào)碼,最后程序會(huì)運(yùn)行拋錯(cuò),可以用什么方式解決呢?或者是否可以通過(guò)設(shè)置變量,來(lái)控制最大支持查詢幾個(gè)號(hào)碼呢?

作者: yhyhh    時(shí)間: 2011-07-26 14:36
本帖最后由 yhyhh 于 2011-07-26 14:40 編輯

如果是從網(wǎng)頁(yè)上直接查詢,查詢結(jié)果的網(wǎng)頁(yè)中包含小女子所要的號(hào)碼歸屬地這段的源代碼為:
其中標(biāo)紅粗體可見(jiàn),江蘇無(wú)錫,這個(gè)地方中間包含一個(gè)特殊字符吧。


************************************************************************************************************
<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>您查詢的手機(jī)號(hào)碼段</TD><TD width=* align="center" class=tdc2>1340001</TD>
        </TR>
        <TR class=tdc bgcolor=#EFF1F3>
                <TD width="130" align="center">卡號(hào)歸屬地</TD><td align="center" class=tdc2><!-- <td></td> -->江蘇&nbsp;無(wú)錫</TD>
        </TR>
        <TR class=tdc bgcolor=#EFF1F3>
                <TD width="130" align="center" noswap>卡&nbsp;類&nbsp;型</TD><TD align="center" class=tdc2><!-- <td></td> -->移動(dòng)全球通卡</TD>
        </TR>
        <TR class=tdc bgcolor=#EFF1F3>
                <TD align="center">區(qū) 號(hào)</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>
************************************************************************************************************
作者: Kitaisky    時(shí)間: 2011-07-27 04:47
回復(fù) 32# yhyhh


    瞧把這Y頭個(gè)折騰的,用我上次給你的 Regex 試一下~~
作者: yhyhh    時(shí)間: 2011-07-27 15:14
回復(fù)  yhyhh


    瞧把這Y頭個(gè)折騰的,用我上次給你的 Regex 試一下~~
Kitaisky 發(fā)表于 2011-07-27 04:47



    好的,多謝大俠提點(diǎn),待小女子下班回去后試一下。
作者: yeahzp    時(shí)間: 2011-07-28 16:57
再詳細(xì)點(diǎn),還是不懂。。
作者: 斯文牛氓    時(shí)間: 2011-07-28 23:51
mm加我qq吧,我手把手教你492003149
作者: iakuf    時(shí)間: 2011-07-29 12:30
mm加我qq吧,我手把手教你492003149
斯文牛氓 發(fā)表于 2011-07-28 23:51



    色狼,小心
作者: hcxiaomuniu    時(shí)間: 2011-07-29 15:05
回復(fù) 2# txh_zyy


    研發(fā)管理 http://wenku.baidu.com/view/93389af8fab069dc5022015d.html
作者: yhyhh    時(shí)間: 2011-08-02 00:57
本帖最后由 yhyhh 于 2011-08-02 01:33 編輯

回復(fù) 36# 斯文牛氓

不如把這個(gè)QQ號(hào)發(fā)到學(xué)校BBS鵲橋板塊去,然后配上一段妙文,看看會(huì)有神馬效果哈?想來(lái)這番決策定當(dāng)會(huì)符合這位仁兄心意。

如此這般構(gòu)思,閣下意向如何?
   

    本公子儀表堂堂,玉樹(shù)臨風(fēng),雖非出身名門,但祖上累年經(jīng)商,而今亦家境殷實(shí)。從小家教甚嚴(yán),中西合璧,通曉四書五經(jīng),亦習(xí)洋文,接受西方文化之熏陶,乃于數(shù)年前留洋海外著名高等學(xué)府,不日前始?xì)w來(lái)。本公子身懷蓋世才華,愿以赤子之心報(bào)效國(guó)家。辜鴻銘倒讀英文報(bào)紙引得英國(guó)小生驚嘆之事,亦在本公子身上發(fā)生過(guò);嚴(yán)復(fù)先生所提倡之翻譯三原則,信達(dá)雅,本公子多篇出版翻譯著作亦達(dá)此標(biāo)準(zhǔn)。唯愿在而立之年悄然臨近之際,覓得佳偶一名,無(wú)需貌若天仙,然氣質(zhì)超凡,豁達(dá)大度,通曉事理。一愿執(zhí)子之手,與之偕老,二愿現(xiàn)世安穩(wěn),歲月靜好。
    若是有緣,請(qǐng)姑娘與本公子在perl論壇相約,共同推進(jìn)perl之中國(guó)行之進(jìn)程。

作者: yhyhh    時(shí)間: 2011-08-02 01:35
回復(fù)  yhyhh


    瞧把這Y頭個(gè)折騰的,用我上次給你的 Regex 試一下~~
Kitaisky 發(fā)表于 2011-07-27 04:47



    其實(shí)小女子現(xiàn)在也不太明白啥是Regex,近日當(dāng)略微研究一二。
作者: yhyhh    時(shí)間: 2011-08-02 01:42
剛才幾篇帖子似乎略顯扯遠(yuǎn)跡象,但愿版主大人手下留情啊,事實(shí)上,小女子奮戰(zhàn)至深夜凌晨,薄暮漸濃之際,是因?yàn)榧夹g(shù)問(wèn)題還沒(méi)有解決呢,以下是小女子的一些關(guān)于問(wèn)題的猜想,還望高手指教一二。

   眼下的問(wèn)題是關(guān)于程序結(jié)果的輸出,有2個(gè)問(wèn)題:
        1. 中文解碼問(wèn)題, 為什么江蘇后面會(huì)跟上一對(duì)亂碼呢? 期望的結(jié)果是“江蘇 無(wú)錫”等之類。是不是因?yàn)檫@里面包含了一個(gè)空格符呢?
        2. 如果在傳入?yún)?shù)的文件:mobilelist_v1.txt中列入多個(gè)號(hào)碼,最后程序會(huì)運(yùn)行拋錯(cuò),可以用什么方式解決呢?或者是否可以通過(guò)設(shè)置變量,來(lái)控制最大支持查詢幾個(gè)號(hào)碼呢?

作者: yhyhh    時(shí)間: 2011-08-02 01:43
色狼,小心
iakuf 發(fā)表于 2011-07-29 12:30



    呵呵,順應(yīng)他的思路,給這位爺想了個(gè)很好的辦法呢,可以參看我的回帖喔。
作者: yhyhh    時(shí)間: 2011-08-02 01:50
本帖最后由 yhyhh 于 2011-08-02 01:58 編輯

相信回帖中 iakuf TX給出的程序,在他的環(huán)境下運(yùn)行已經(jīng)是可以得到既定結(jié)果了。而小女子的運(yùn)行環(huán)境是:
Windows 7.0 + activePerl v5.14.1.
不知是否因?yàn)檫\(yùn)行環(huán)境不同所致結(jié)果不同。總而言之,言而總之,在這里運(yùn)行結(jié)果歸屬地是亂碼。


C:\Users\yiyi>perl -version

This is perl 5, version 14, subversion 1 (v5.14.1) built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)

Copyright 1987-2011, Larry Wall

Binary build 1401 [294969] provided by ActiveState http://www.ActiveState.com
Built Jun 16 2011 18:54:40

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.


C:\Users\yiyi>



作者: afaty    時(shí)間: 2011-08-02 11:17
奮戰(zhàn)到凌晨?jī)牲c(diǎn),佩服+慚愧~~~
作者: x9x9    時(shí)間: 2011-08-02 11:43
回復(fù)  斯文牛氓

不如把這個(gè)QQ號(hào)發(fā)到學(xué)校BBS鵲橋板塊去,然后配上一段妙文,看看會(huì)有神馬效果哈?想來(lái)這 ...
yhyhh 發(fā)表于 2011-08-02 00:57


好文~希望能經(jīng)常來(lái)Perl 版,必能推進(jìn)perl之中國(guó)行之進(jìn)程。
作者: yhyhh    時(shí)間: 2011-08-02 12:04
奮戰(zhàn)到凌晨?jī)牲c(diǎn),佩服+慚愧~~~
afaty 發(fā)表于 2011-08-02 11:17



     其實(shí)只是習(xí)慣了夜貓子生活罷了。呵呵。
作者: afaty    時(shí)間: 2011-08-02 12:09
回復(fù) 46# yhyhh
不是什么好習(xí)慣。我記得上大學(xué)時(shí),一個(gè)星期上三個(gè)夜機(jī)精力都好的很,現(xiàn)在晚睡一會(huì)白天上班都沒(méi)精神。
作者: yhyhh    時(shí)間: 2011-08-02 12:20
好文~希望能經(jīng)常來(lái)Perl 版,必能推進(jìn)perl之中國(guó)行之進(jìn)程。
x9x9 發(fā)表于 2011-08-02 11:43



      這位仁兄,依小女子之愚見(jiàn),科學(xué)和藝術(shù)是可以相通的,都有著不可言喻的魅力,兩者之間并無(wú)不可逾越的鴻溝。掌握一些專業(yè)的科學(xué)技術(shù),可以在現(xiàn)世上謀得一份略微安穩(wěn)的差事,若同時(shí)能信手作文,則可將自己所學(xué)所知所想所感對(duì)外輸出,作為與他人溝通交流的橋梁。姑且稱之為現(xiàn)今時(shí)代的文采武略吧,關(guān)于這兩方面技能的鍛煉都十分必要的。
      
      另外,小女子的問(wèn)題,可有解否?似乎有些不依不撓啊,因?yàn)轫?xiàng)目需要,真的希望有個(gè)perfect solution喔。

作者: iakuf    時(shí)間: 2011-08-02 12:30
不需要這個(gè),來(lái)測(cè)試一下

my $out = encode("utf-8",$value);

在我的 linux 上,顯示是正常的
您查詢的手機(jī)號(hào)碼段      1340001 卡號(hào)歸屬地      江蘇 無(wú)錫
作者: iakuf    時(shí)間: 2011-08-02 12:32
收入高的程序員,都不是做 Web ,都是做工具。

最值錢的“程序員”,都不是做計(jì)算機(jī)本身行業(yè)。
作者: yhyhh    時(shí)間: 2011-08-02 12:35
收入高的程序員,都不是做 Web ,都是做工具。

最值錢的“程序員”,都不是做計(jì)算機(jī)本身行業(yè)。
iakuf 發(fā)表于 2011-08-02 12:32



    那都從事神馬行業(yè)去了? 比如 扶凱 TX?
作者: yhyhh    時(shí)間: 2011-08-02 13:01
不需要這個(gè),來(lái)測(cè)試一下

my $out = encode("utf-8",$value);

在我的 linux 上,顯示是正常的
您查詢 ...
iakuf 發(fā)表于 2011-08-02 12:30



    我測(cè)試過(guò)了,在windows機(jī)器上顯示如下:

C:\Practice\Perl>test_ipcheck_v1.pl mobilelist_v1.txt
您查詢的手機(jī)號(hào)碼段      1340001 卡號(hào)歸屬地      江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340002 卡號(hào)歸屬地      江蘇犖尬?

****************************************************************
test_ipcheck_v3.pl
****************************************************************
#!/usr/bin/perl -w
use warnings;
use URI;
use LWP;
use Encode;
use Web::Scraper;

#ó÷¨ ip138search.pl iplist.txt
#òÔiplist.txtÎa2Îêy£¬′«èë¸ø±äá¿$filename
my $filename=$ARGV[0];
open(FILE,$filename) || die "faile";
my $line = '0';
while($line=<FILE>){
    chomp($line);

    my $url = "http://www.ip138.com:8080/search.asp?action=mobile&mobile=$line";
    my $ua  = LWP::UserAgent->new;
    my $res = $ua->get( $url);  

    if($res->is_success) {
        my $value = $res->decoded_content;
        my $out = encode("utf-8",$value);

        my $scraper = scraper {
            process '/html/body/table[2]/*/td','comment[]' => 'TEXT';
        };  
        my $result = $scraper->scrape( $out );
        print "$result->{comment}[1]\t$result->{comment}[2]\t";
        print "$result->{comment}[3]\t$result->{comment}[4]\n";
    }   
    else {
        die $res->status_line;
    }   
}
close(FILE);

****************************************************************
作者: x9x9    時(shí)間: 2011-08-02 13:50
這位仁兄,依小女子之愚見(jiàn),科學(xué)和藝術(shù)是可以相通的,都有著不可言喻的魅力,兩者之間并無(wú)不可 ...
yhyhh 發(fā)表于 2011-08-02 12:20


嗯,你的文字的確很有魅力,字里行間透著讓Perler 們興奮的東西~這樣會(huì)讓Perl版灰;鸬膥
相形之下你這個(gè)問(wèn)題就不重要了,除非你保證以后會(huì)經(jīng)常來(lái)這里~ :)
我敢說(shuō)如果你能發(fā)張照片出來(lái)的話,那回復(fù)的代碼也許都?jí)蚰憧吹教烀鞯膥
不就是抓取個(gè)歸屬地么,對(duì) Perl 應(yīng)該是很簡(jiǎn)單的事兒~
作者: yhyhh    時(shí)間: 2011-08-02 16:05
回復(fù) 53# x9x9


     口才是照片,思想是底片,作文功底得到大俠如此肯定,已是萬(wàn)分榮幸了。小女子才疏學(xué)淺,然若是以微薄之力,能促進(jìn)perl板塊于chinaunix論壇眾多門戶板塊之中異軍突起,那自然是義不容辭的事兒了。。。。
     言歸正傳,大俠請(qǐng)幫忙給點(diǎn)解題思路啊。問(wèn)題還直愣愣地?cái)[在哪兒呢,這一日不解,一日不得好好休息了,唉。

作者: iakuf    時(shí)間: 2011-08-02 16:27
我測(cè)試過(guò)了,在windows機(jī)器上顯示如下:

C:\Practice\Perl>test_ipcheck_v1.pl mobilelist_v1 ...
yhyhh 發(fā)表于 2011-08-02 13:01



我的意思是去掉這行
my $out = encode("utf-8",$value);
作者: iakuf    時(shí)間: 2011-08-02 16:30
回復(fù)  x9x9


     口才是照片,思想是底片,作文功底得到大俠如此肯定,已是萬(wàn)分榮幸了。小女子才疏學(xué) ...,然若是以微薄之力,能促進(jìn)perl板塊于chinaunix論壇眾多門戶板塊之中異軍突起,那自然是義不容辭的事兒了。。。。
yhyhh 發(fā)表于 2011-08-02 16:05



   
如果你一直在這板塊,一定會(huì)的。你的問(wèn)題一定幫你解決,很容易的。
作者: flw    時(shí)間: 2011-08-02 16:43
私聊吧。加我 Q
作者: yhyhh    時(shí)間: 2011-08-02 16:46
如果你一直在這板塊,一定會(huì)的。你的問(wèn)題一定幫你解決,很容易的。
iakuf 發(fā)表于 2011-08-02 16:30



    好,有扶凱 TX 一言,那小女子便如同吃了定心丸啦。一言為定,擊掌為盟!
作者: yhyhh    時(shí)間: 2011-08-02 16:50
回復(fù) 57# flw


    版主老人家看不下去了,心中念想:“此處有水軍出沒(méi),此乃標(biāo)準(zhǔn)灌水貼也”。 越想心里越不對(duì)味,就吐了。唉。。。。  版主老人家多多保重!
作者: txh_zyy    時(shí)間: 2011-08-02 20:25
帖子就那么水了,哈哈
作者: yhyhh    時(shí)間: 2011-08-02 20:27
回復(fù) 60# txh_zyy


    是的,呵呵,八過(guò)讓人困擾的是大伙兒樂(lè)得灌水,問(wèn)題還在,5555555。
作者: yhyhh    時(shí)間: 2011-08-02 20:29
小女子現(xiàn)在是在線看“扶凱”TX 發(fā)的精華帖子,自學(xué)perl了,喏,下面這篇好文。。。

[保留] 【匯總】Perl 教學(xué)視頻-探索Perl的世界-Superor作品(更新到第十七章56集)

作者: yhyhh    時(shí)間: 2011-08-02 20:36
帖子就那么水了,哈哈
txh_zyy 發(fā)表于 2011-08-02 20:25



   在線討論,交流 & 尋求答案了,呵呵~~
作者: yhyhh    時(shí)間: 2011-08-02 22:09
本帖最后由 yhyhh 于 2011-08-02 22:46 編輯


路漫漫其修遠(yuǎn)兮,吾將上下而求索~

作者: yhyhh    時(shí)間: 2011-08-02 22:44
回復(fù) 56# iakuf

    小女子要竭盡所能把樓掰回來(lái)了,實(shí)在歪的太厲害了~~

扶凱TX 給的源文件,關(guān)于下面這句去掉不行的,唯一要改動(dòng)的是把utf-8 改成GB2312,即可正常運(yùn)行,得到結(jié)果。********************************************************
我的意思是去掉這行
my $out = encode("utf-8",$value);
*********************************************************

   目前的問(wèn)題還是2個(gè),一是特殊字符不能正常顯示,二是若是輸入文件中填寫多個(gè)查詢號(hào)碼(>21個(gè)),那執(zhí)行該perl腳本,會(huì)出錯(cuò)。錯(cuò)誤提示如下:

         為什么會(huì)出現(xiàn)變量未初始化的情況呢?

         經(jīng)再三思忖,作此決定,若是兩個(gè)問(wèn)題得以順利解決,小女子定當(dāng)自曝以謝眾人。


*********************************************************
程序運(yùn)行結(jié)果如下:
*********************************************************
C:\MyPractice\Perl>Test_ipcheck_v6.pl mobilelist_v1.txt
您查詢的手機(jī)號(hào)碼段      1340001 卡號(hào)歸屬地      '江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340002 卡號(hào)歸屬地      '江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340003 卡號(hào)歸屬地      '江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340004 卡號(hào)歸屬地      '江蘇犖尬?
您查詢的手機(jī)號(hào)碼段      1340005 卡號(hào)歸屬地      '江蘇犇暇?
您查詢的手機(jī)號(hào)碼段      1340006 卡號(hào)歸屬地      '江蘇犇暇?
您查詢的手機(jī)號(hào)碼段      1340007 卡號(hào)歸屬地      '江蘇犇暇?
您查詢的手機(jī)號(hào)碼段      1340008 卡號(hào)歸屬地      '江蘇犝蚪?
您查詢的手機(jī)號(hào)碼段      1340009 卡號(hào)歸屬地      '江蘇犝蚪?
您查詢的手機(jī)號(hào)碼段      1340010 卡號(hào)歸屬地      '河北牶??
您查詢的手機(jī)號(hào)碼段      1340011 卡號(hào)歸屬地      '河北犑?易?
您查詢的手機(jī)號(hào)碼段      1340012 卡號(hào)歸屬地      '河北牨6?
您查詢的手機(jī)號(hào)碼段      1340013 卡號(hào)歸屬地      '河北犝偶銥?
您查詢的手機(jī)號(hào)碼段      1340014 卡號(hào)歸屬地      '河北犘咸?
您查詢的手機(jī)號(hào)碼段      1340015 卡號(hào)歸屬地      '河北犘咸?
您查詢的手機(jī)號(hào)碼段      1340016 卡號(hào)歸屬地      '河北牨6?
您查詢的手機(jī)號(hào)碼段      1340017 卡號(hào)歸屬地      '河北牪字?
您查詢的手機(jī)號(hào)碼段      1340018 卡號(hào)歸屬地      '河北犘咸?
您查詢的手機(jī)號(hào)碼段      1340019 卡號(hào)歸屬地      '河北犘咸?
您查詢的手機(jī)號(hào)碼段      1340020 卡號(hào)歸屬地      '河北牶??
您查詢的手機(jī)號(hào)碼段      1340021 卡號(hào)歸屬地      '河北犑?易?
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
22.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
22.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
22.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
22.
                        ''
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
23.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
23.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
23.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
23.
                        ''
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
24.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
24.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
24.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
24.
                        ''
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
25.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
25.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
25.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
25.
                        ''
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
26.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
26.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
26.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
26.
                        ''
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
27.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
27.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
27.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
27.
                        ''
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
28.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
28.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
28.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
28.
                        ''
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
29.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
29.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
29.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
29.
                        ''
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
30.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 41, <FILE> line
30.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
30.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v6.pl line 42, <FILE> line
30.
作者: zhlong8    時(shí)間: 2011-08-02 23:11
有自曝啊,大家熱情點(diǎn) {:3_189:}
作者: iakuf    時(shí)間: 2011-08-02 23:27
我想是因?yàn)?IP138 的防刷機(jī)制。
作者: yhyhh    時(shí)間: 2011-08-02 23:35
本帖最后由 yhyhh 于 2011-08-02 23:36 編輯

回復(fù) 66# zhlong8


    那木就給力一點(diǎn)解決問(wèn)題吧,哈哈~~~
           No pain, no gain.

作者: yhyhh    時(shí)間: 2011-08-02 23:36
本帖最后由 yhyhh 于 2011-08-02 23:38 編輯

回復(fù) 67# iakuf

    起初猜測(cè)也是這樣子,因?yàn)槌霈F(xiàn)變量未初始化的錯(cuò)誤是隨機(jī)性的,而隔一段時(shí)間之后運(yùn)行同樣的腳本,就能取回結(jié)果,這樣子分析來(lái)看,若在程序內(nèi)部加一個(gè)sleep函數(shù)可以解決這個(gè)問(wèn)題嗎?
作者: x9x9    時(shí)間: 2011-08-03 10:52
本帖最后由 x9x9 于 2011-08-03 11:09 編輯

回復(fù) 69# yhyhh


    sleep會(huì)不會(huì)解決防刷沒(méi)試,但稍稍sleep一下也是對(duì)人家server的尊重~
  1. use strict;
  2. use warnings;
  3. use LWP::UserAgent;
  4. use HTML::TreeBuilder;

  5. my $ip_url='http://www.ip138.com:8080/search.asp?action=mobile&mobile=';

  6. while (<DATA>) {
  7. chomp;
  8. print "$_\t";
  9. my $link=$ip_url.$_;
  10. my $cont=get_html("$link", "Accept-language" => "zh-cn", 'Accept-Charset' => 'gb2312', );
  11. my $table=$1 if $cont=~m{<TABLE width=349 border="1" align="center" cellpadding="4" bordercolor=#3366cc style="border-collapse: collapse">(.*?)</TABLE>}s;
  12. $table=~s/&nbsp\;/ /g;
  13. my $root=HTML::TreeBuilder->new();
  14. $root->strict_comment(1);
  15. $root->parse($table);
  16. $root->eof();

  17. my $tr =($root->find_by_tag_name('tr'))[2];
  18. my @kids = $tr->content_list(  );
  19. if (@kids and ref $kids[1] and $kids[1]->tag() eq 'td') {
  20. print $kids[1]->as_text(  ), "\n";
  21. }

  22. $root->delete;
  23. sleep(2);
  24. }

  25. sub get_html {
  26.   my $browser = LWP::UserAgent->new(  );
  27.   $browser->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)');
  28.   my $resp = $browser->get(@_);
  29.   return ($resp->content, $resp->status_line, $resp->is_success,$resp) if wantarray;
  30.   return unless $resp->is_success;
  31.   return $resp->content;
  32. }

  33. __DATA__
  34. 18810340688
  35. 18810040188
  36. 15932344334
  37. 18703883394
  38. 15901055555
  39. 13245875555
復(fù)制代碼

作者: lyk1009    時(shí)間: 2011-08-03 14:30
sleep不管用吧,我之前寫過(guò),取十個(gè)左右頁(yè)面就變成了一行什么刷新頻繁.不管用2秒還是10秒, 我用的WWW::Mechanize,, HTML::TableContentParser
作者: yhyhh    時(shí)間: 2011-08-03 14:30
本帖最后由 yhyhh 于 2011-08-03 14:34 編輯
回復(fù)  yhyhh


    sleep會(huì)不會(huì)解決防刷沒(méi)試,但稍稍sleep一下也是對(duì)人家server的尊重~
x9x9 發(fā)表于 2011-08-03 10:52



      萬(wàn)分感謝這位仁兄,所提供之代碼在本機(jī)上經(jīng)過(guò)第一輪測(cè)試,功能已經(jīng)初步實(shí)現(xiàn)了,小女子不甚感激。若是將來(lái)在第二版本,想要個(gè)性化地作些優(yōu)化,不知可否繼續(xù)在此尋找支援?
      另外,古語(yǔ)有云,君子一言,駟馬難追。小女子雖與君子性別有別,然而言必行,行必果,乃做人之一根本。既然之前有提到過(guò)問(wèn)題解決將會(huì)貼個(gè)人照,待到下班回去后再尋一張來(lái)謝諸位~~

作者: yhyhh    時(shí)間: 2011-08-03 14:32
本帖最后由 yhyhh 于 2011-08-03 14:34 編輯
sleep不管用吧,我之前寫過(guò),取十個(gè)左右頁(yè)面就變成了一行什么刷新頻繁.不管用2秒還是10秒, 我用的WWW::Mechan ...
lyk1009 發(fā)表于 2011-08-03 14:30



    恩,我也試過(guò)了,sleep不管用的。
作者: x9x9    時(shí)間: 2011-08-03 14:50
本帖最后由 x9x9 于 2011-08-03 14:54 編輯
萬(wàn)分感謝這位仁兄,所提供之代碼在本機(jī)上經(jīng)過(guò)第一輪測(cè)試,功能已經(jīng)初步實(shí)現(xiàn)了,小女子不甚感激 ...
yhyhh 發(fā)表于 2011-08-03 14:30


哈哈,這個(gè)本來(lái)也是以為很容易,昨天下午沒(méi)事兒寫了幾句試了一下感覺(jué)問(wèn)題還不少。
晚上沒(méi)事兒想了想,早晨上班試了下,還是可行的。大體思路寫到我博客了。
至于后續(xù)更新的問(wèn)題,看到樓主已經(jīng)在努力學(xué)習(xí)Perl了,以樓主的毅力與人品及智慧(還有...這個(gè)要等你貼完P(guān)P再說(shuō)啦),自行解決應(yīng)該不成問(wèn)題。當(dāng)然還要考慮ip138的更新~
作者: yhyhh    時(shí)間: 2011-08-03 19:27
本帖最后由 yhyhh 于 2011-08-12 00:20 編輯
哈哈,這個(gè)本來(lái)也是以為很容易,昨天下午沒(méi)事兒寫了幾句試了一下感覺(jué)問(wèn)題還不少。
晚上沒(méi)事兒想了想, ...
x9x9 發(fā)表于 2011-08-03 14:50



      小女子回家了,踐行諾言,希望與perl之緣分,不會(huì)僅僅只是擦肩而過(guò),而是可以往長(zhǎng)相廝守的方向發(fā)展下去。互聯(lián)網(wǎng)行業(yè)是熱門行業(yè),對(duì)于網(wǎng)頁(yè)信息內(nèi)容的抓取、分析、重新生成既定格式的報(bào)告,幾廂方面內(nèi)容,今后皆將時(shí)不時(shí)地碰觸得到。這個(gè)論壇,這個(gè)板塊,也將是人生旅途中的一站,經(jīng)常來(lái)看看風(fēng)景為好。


作者: tempo8    時(shí)間: 2011-08-04 07:30
本帖最后由 tempo8 于 2011-08-11 07:55 編輯

真是仙子下凡啦:wink::wink:
忒能忽悠啦!
忽悠仙子!
忽悠仙子控!

真給我們PERL社區(qū)長(zhǎng)臉 !

嫑上靚照~\(≧▽≦)/~!
當(dāng)心帖子真的水啦

作者: zhlong8    時(shí)間: 2011-08-04 08:19
一夜之間怎么圖片也變了,上一張也挺好的
作者: x9x9    時(shí)間: 2011-08-04 10:00
小女子回家了,踐行諾言,希望與perl之緣分,不會(huì)僅僅只是擦肩而過(guò),而是可以往長(zhǎng)相廝守的方向 ...
yhyhh 發(fā)表于 2011-08-03 19:27


此處亭臺(tái)似曾相識(shí),貌似是大觀園?
與Perl結(jié)緣,樓主必有一飽滿的性格與飽滿的人生,哈哈~
作者: yhyhh    時(shí)間: 2011-08-04 10:02
一夜之間怎么圖片也變了,上一張也挺好的
zhlong8 發(fā)表于 2011-08-04 08:19



     能隨意變換照片,說(shuō)明確實(shí)乃本人也,沒(méi)有做貍貓換太子之事,由此也可顯示小女子以誠(chéng)心示人之決心!在這個(gè)自上而下,自官方至民間皆玩弄誠(chéng)信的可笑社會(huì)里,依然信奉以誠(chéng)為本的人,大概是少了。雖然與諸位壇友以文字結(jié)緣,亦希望不管距離是遠(yuǎn)或近,是咫尺或是天涯,皆能為友,大家是因共同愛(ài)好之技術(shù)而走到一起的,無(wú)關(guān)乎出身相貌,無(wú)關(guān)乎富貴貧賤。借由這個(gè)平臺(tái)而搭起的溝通科學(xué)和藝術(shù)的一座橋梁,決不至于像杭州錢江三橋那樣有恁多質(zhì)量問(wèn)題,而會(huì)向茅以升之所建錢江一橋那樣昂然傲立半個(gè)多世界而依然堅(jiān)固如初,事實(shí)勝于雄辯啊。
作者: yhyhh    時(shí)間: 2011-08-04 10:05
此處亭臺(tái)似曾相識(shí),貌似是大觀園?
與Perl結(jié)緣,樓主必有一飽滿的性格與飽滿的人生,哈哈~
x9x9 發(fā)表于 2011-08-04 10:00



    自己編的,俗話說(shuō),熟讀唐詩(shī)三百首,不會(huì)作詩(shī)也會(huì)吟,寫的時(shí)候是很自然順暢地把思想從筆尖output了
作者: x9x9    時(shí)間: 2011-08-04 10:11
自己編的,俗話說(shuō),熟讀唐詩(shī)三百首,不會(huì)作詩(shī)也會(huì)吟,寫的時(shí)候是很自然順暢地把思想從筆尖output ...
yhyhh 發(fā)表于 2011-08-04 10:05



    樓主的回復(fù)好像和我說(shuō)的話貌似不是一回事兒啊~)
作者: yhyhh    時(shí)間: 2011-08-04 10:12
ip138 防刷機(jī)制太嚴(yán)格了,連續(xù)查詢21個(gè)以上便不能接下去做了,還是這個(gè)網(wǎng)址查詢方便呢。

http://www.hao123.com/haoserver/showjicc.htm

所以暫時(shí)還無(wú)法結(jié)帖啊。
作者: yhyhh    時(shí)間: 2011-08-04 10:25
樓主的回復(fù)好像和我說(shuō)的話貌似不是一回事兒啊~
x9x9 發(fā)表于 2011-08-04 10:11



    背景是去旅游拍的,在那個(gè)叫乾隆的皇帝給他家里的老太太修的叫頤和園的那個(gè)園子里。
作者: yhyhh    時(shí)間: 2011-08-04 10:26
為嘛帖子老被刪呢?發(fā)了兩遍了,唉
作者: yhyhh    時(shí)間: 2011-08-04 22:05
本帖最后由 yhyhh 于 2011-08-05 12:27 編輯
又一仙子下凡啦
祝賀yhyhh妹子勝利結(jié)帖!
tempo8 發(fā)表于 2011-08-04 07:30



      兄臺(tái),蘭花仙子乃真正之仙子姐姐,文武雙全,地道的留洋背景,亦是perl方面的專家之一,這樣的人才才是perl板塊真心歡迎和擁護(hù)的,既有水平可為眾壇友答疑解惑,亦可為人師表分享其專業(yè)的學(xué)習(xí)知識(shí)和經(jīng)驗(yàn),小女子對(duì)于perl還未能入門,不敢與仙子相媲美,實(shí)則相差十萬(wàn)八千里哪。
作者: yhyhh    時(shí)間: 2011-08-04 23:14
本帖最后由 yhyhh 于 2011-08-05 12:27 編輯

還結(jié)不了帖子咯,因?yàn)?ip138限制刷屏,只能查20個(gè),再查便出錯(cuò)了。
http://www.hao123.com/haoserver/showjicc.htm 這個(gè)網(wǎng)址比較好使,不知道怎么樣才能編個(gè)代碼實(shí)現(xiàn)歸屬地查詢功能?正在用perl琢磨中。

作者: x9x9    時(shí)間: 2011-08-05 11:20
本帖最后由 x9x9 于 2011-08-05 11:47 編輯
還結(jié)不了帖子咯,因?yàn)?ip138限制刷屏,只能查20個(gè),再查便出錯(cuò)了。
這個(gè)網(wǎng)址比較好使,不知道怎么樣才能編 ...
yhyhh 發(fā)表于 2011-08-04 23:14


hao123這個(gè)是調(diào)用別人的接口,見(jiàn)這里:http://vip.showji.com/locating/help.htm

可以用這個(gè)取數(shù)據(jù):
http://vip.showji.com/locating/?m=電話號(hào)碼&outfmt=json

outfmt是返回?cái)?shù)據(jù)的類型,比如上面會(huì)返還json。當(dāng)然從上面那個(gè)幫助頁(yè)面可以知道還提供xml,普通文本,webservice等方式。

但這個(gè)接口會(huì)不會(huì)限制次數(shù)還沒(méi)試過(guò)。
作者: yhyhh    時(shí)間: 2011-08-05 11:57
本帖最后由 yhyhh 于 2011-08-05 12:28 編輯
hao123這個(gè)是調(diào)用別人的接口,見(jiàn)這里:

可以用這個(gè)取數(shù)據(jù):
電話號(hào)碼&outfmt=json

outfmt是返回 ...
x9x9 發(fā)表于 2011-08-05 11:20



    恩,多謝,待到下班回家去試一試看啊~~
作者: yhyhh    時(shí)間: 2011-08-05 11:58
本帖最后由 yhyhh 于 2011-08-05 12:27 編輯
又一仙子下凡啦
祝賀yhyhh妹子勝利結(jié)帖!
嫑上靚照~\(≧▽≦)/~啦啦啦!
當(dāng)心帖子真的水啦! ...
tempo8 發(fā)表于 2011-08-04 07:30



    呵呵,悄悄變換的,被發(fā)現(xiàn)了啊,其實(shí)自曝有風(fēng)險(xiǎn),貼圖且謹(jǐn)慎為好。
作者: x9x9    時(shí)間: 2011-08-05 12:47
呵呵,悄悄變換的,被發(fā)現(xiàn)了啊,其實(shí)自曝有風(fēng)險(xiǎn),貼圖且謹(jǐn)慎為好。
yhyhh 發(fā)表于 2011-08-05 11:58


這個(gè)意思是非本人了?是不是以后每天都換一張啊?
作者: yhyhh    時(shí)間: 2011-08-05 22:06
這個(gè)意思是非本人了?是不是以后每天都換一張?
x9x9 發(fā)表于 2011-08-05 12:47



     是本人,如假包換,貴在心誠(chéng)。小女子的意思是:如果不貼圖,保持神秘感,眾人好奇心更甚,此帖更水;貼了吧,沒(méi)有被磚頭拍死算是好的待遇了。
   本來(lái)還真有想過(guò),每天悄悄換張圖的,現(xiàn)在既然有網(wǎng)友跳出來(lái)說(shuō)嫑貼了,那木就作罷了吧,呵呵。

作者: tempo8    時(shí)間: 2011-08-06 17:03
本帖最后由 tempo8 于 2011-08-06 17:26 編輯

跳出來(lái)說(shuō)嫑貼!
恕我多慮啦!偷偷地?fù)Q吧!
為了保證效率,還是隨機(jī)地、不知不覺(jué)地更新!
秀色可餐(⊙_⊙)!

作者: yhyhh    時(shí)間: 2011-08-06 22:21
本帖最后由 yhyhh 于 2011-08-06 22:33 編輯
hao123這個(gè)是調(diào)用別人的接口,見(jiàn)這里:

可以用這個(gè)取數(shù)據(jù):
電話號(hào)碼&outfmt=json

outfmt是返回 ...
x9x9 發(fā)表于 2011-08-05 11:20



     查看了hao123這個(gè)網(wǎng)頁(yè)的源代碼,其中包含如下這么一段,也就是說(shuō),查詢實(shí)際調(diào)用的是網(wǎng)址:http://www.showji.com, 由該網(wǎng)站來(lái)提供查詢結(jié)果的。我的問(wèn)題可以順此轉(zhuǎn)變成寫一段perl腳本通過(guò)網(wǎng)址“http://www.showji.com/”來(lái)查詢號(hào)碼歸屬地。
   若是基于這個(gè)web page,直接查詢,看到查詢結(jié)果包含在網(wǎng)頁(yè)"http://www.showji.com/search.htm?m=1340001”之下。然而此時(shí)去查看源代碼,search不到“江蘇" or "無(wú)錫”關(guān)鍵字,于是有些看不懂,不知道怎么做好了,繼續(xù)請(qǐng)教。

            <dl>
                <dt>--準(zhǔn)確判斷陌生電話號(hào)碼所在地</dt>
                <dd class="line"></dd>
                <dd class="content"><label for='hao_phoneNumber'>請(qǐng)輸入手機(jī)號(hào)碼:</label><input type="text" maxlength="20" class='text' id='hao_phoneNumber' /><input  type="button" class='button' id='hao_query' /></dd>
                <dd class='provider' id='hao_result'>數(shù)據(jù)提供:<a target="_blank">www.showji.com</a></dd>
        
            </dl>
作者: yhyhh    時(shí)間: 2011-08-06 22:31
本帖最后由 yhyhh 于 2011-08-06 23:13 編輯
跳出來(lái)說(shuō)嫑貼!
恕我多慮啦!偷偷地?fù)Q吧!
為了保證效率,還是隨機(jī)地、不知不覺(jué)地更新!
秀色可餐 ...
tempo8 發(fā)表于 2011-08-06 17:03



    言之有理,把仁兄所提及的隨機(jī),不知不覺(jué)的更新,借用一段并非特別恰當(dāng)?shù)男稳荩阅鼙磉_(dá)此番意境的詩(shī)句來(lái)進(jìn)行一番翻譯,即:隨風(fēng)潛入夜,潤(rùn)物細(xì)無(wú)聲。關(guān)注的人自行關(guān)注啊。
作者: yhyhh    時(shí)間: 2011-08-07 09:51
本帖最后由 yhyhh 于 2011-08-07 12:38 編輯

又被刪帖了,版主大人可否明示一下先?觸犯了哪條天規(guī)?
作者: tempo8    時(shí)間: 2011-08-07 14:04
淡定!人氣直逼【置頂】帖~\(≧▽≦)/~啦!
還是你忘了更新鴨爪?!

作者: yhyhh    時(shí)間: 2011-08-07 20:10
淡定!人氣直逼【置頂】帖~\(≧▽≦)/~啦!
還是你忘了更新鴨爪?!
tempo8 發(fā)表于 2011-08-07 14:04



    請(qǐng)問(wèn)一下神馬是鴨爪?容我去檢查一下,看看是否需要更新?
作者: tempo8    時(shí)間: 2011-08-07 20:28
本帖最后由 tempo8 于 2011-08-08 09:50 編輯

逛街時(shí)發(fā)現(xiàn)的一根骨頭!呵呵!
[轉(zhuǎn)帖] 用Perl抓取ip138獲取手機(jī)歸屬地的幾個(gè)問(wèn)題
http://club.*.com/thread-2545174-1-1.html[code]
光頭研究生的大作!X9X9大俠!

作者: yhyhh    時(shí)間: 2011-08-07 21:05
逛街時(shí)發(fā)現(xiàn)的一根骨頭!呵呵!
[轉(zhuǎn)帖] 用Perl抓取ip138獲取手機(jī)歸屬地的幾個(gè)問(wèn)題
__DATA__
    1 ...
tempo8 發(fā)表于 2011-08-07 20:28



    這個(gè)是x9x9 大俠的作品吧,大俠的ID被曝光了。
作者: x9x9    時(shí)間: 2011-08-08 11:15
逛街時(shí)發(fā)現(xiàn)的一根骨頭!呵呵!
[轉(zhuǎn)帖] 用Perl抓取ip138獲取手機(jī)歸屬地的幾個(gè)問(wèn)題
[code]
光頭研 ...
tempo8 發(fā)表于 2011-08-07 20:28


光頭研究生?不解~
topsage論壇連這個(gè)都轉(zhuǎn)?既然轉(zhuǎn)的話也要注明出處嘛~
作者: x9x9    時(shí)間: 2011-08-08 11:21
  這個(gè)是x9x9 大俠的作品吧,大俠的ID被曝光了。


真正的大俠都去忙著把妹去了,只有小蝦在這里做練習(xí)。{:3_205:}


查看了hao123這個(gè)網(wǎng)頁(yè)的源代碼,其中包含如下這么一段,也就是說(shuō),查詢實(shí)際調(diào)用的是網(wǎng)址:, 由該 ...
yhyhh 發(fā)表于 2011-08-06 22:21


樓主好像沒(méi)仔細(xì)看我85樓的內(nèi)容了~

用json的返回?cái)?shù)據(jù)寫了一個(gè),樓主可以試下是否有查詢數(shù)量限制。
因?yàn)榉祷氐膉son數(shù)據(jù)很短,用正則也是可以獲取,這里還是用了JSON::XS模塊進(jìn)行解析。
  1. use strict;
  2. use warnings;
  3. use LWP::UserAgent;
  4. use Encode;
  5. use JSON::XS;

  6. my $url='http://vip.showji.com/locating/?outfmt=json&m=';

  7. while (<DATA>) {
  8. chomp;
  9. my $link=$url.$_;
  10. my $cont=get_html("$link", "Accept-language" => "zh-cn", 'Accept-Charset' => 'utf-8', );
  11. my $pref=decode_json $cont;
  12. print $pref->{'QueryResult'} eq 'True'?"$_\t@{[T($pref->{'Province'})]} @{[T($pref->{'City'})]}\n":"$_\t無(wú)此數(shù)據(jù)!\n";
  13. }

  14. sub get_html {
  15.   my $browser = LWP::UserAgent->new(  );
  16.   $browser->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)');
  17.   my $resp = $browser->get(@_);
  18.   return ($resp->content, $resp->status_line, $resp->is_success,$resp) if wantarray;
  19.   return unless $resp->is_success;
  20.   return $resp->content;
  21. }

  22. sub T {
  23. my $text=shift;
  24. return encode('gb2312',$text);
  25. }


  26. __DATA__
  27. 18810340688
  28. 18810040188
  29. 15932344334
  30. 18703883394
  31. 15901055555
  32. 13245875555
復(fù)制代碼

作者: yhyhh    時(shí)間: 2011-08-08 12:55
真正的大俠都去忙著把妹去了,只有小蝦在這里做練習(xí)。




樓主好像沒(méi)仔細(xì)看我85樓的內(nèi) ...
x9x9 發(fā)表于 2011-08-08 11:21



    小女子測(cè)試過(guò)了,測(cè)試結(jié)果如下:
test_ipcheck_v6.pl:
case01: 給了6個(gè)手機(jī)號(hào)碼數(shù)據(jù),返回結(jié)果正常,手機(jī)號(hào)碼+歸屬地
case02: 給了另外6個(gè)數(shù)據(jù),返回結(jié)果中第6個(gè)數(shù)據(jù)顯示只有歸屬地,沒(méi)有號(hào)碼。
case03: 隨意替換這第6個(gè)數(shù)據(jù),返回結(jié)果中始終只顯示歸屬地而不顯示號(hào)碼,像是這個(gè)問(wèn)題一旦出現(xiàn),不能恢復(fù),哪怕你替換成了別的號(hào)碼
case04: 不刪除第6個(gè)數(shù)據(jù),增加同一個(gè)號(hào)碼作為第7個(gè)數(shù)據(jù)進(jìn)行測(cè)試,返回結(jié)果第6個(gè)數(shù)據(jù)僅僅顯示歸屬地,而第7個(gè)數(shù)據(jù)完整顯示:號(hào)碼+歸屬地。 需要指出:第6個(gè)數(shù)據(jù)和第7個(gè)數(shù)據(jù)號(hào)碼完全相同。
case05:刪除第6個(gè)數(shù)據(jù),返回結(jié)果正常,手機(jī)號(hào)碼+歸屬地。
case06:在DATA中加入兩個(gè)空行,返回結(jié)果報(bào)錯(cuò),錯(cuò)誤如下:
malformed JSON string, neither array, object, number, string or atom, at character offset 0 ["\x{feff}<!DOCTYPE ht..."]
at C:\Practice\Perl\test_ipcheck_v6.pl line 13, <DATA> line 7.
需要指出:這個(gè)應(yīng)該是我可以避免的,沒(méi)必要給空數(shù)據(jù)進(jìn)行查詢的,或者也許我不太清楚DATA應(yīng)該有的格式,本身它就不允許這樣子給空數(shù)據(jù)。這個(gè)姑且不算問(wèn)題吧。

test_ipcheck_v7.pl:
case01: 給了25個(gè)數(shù)據(jù),返回結(jié)果只包含歸屬地,只有最后一個(gè)查詢結(jié)果有手機(jī)號(hào)碼。
case02: 給了50個(gè)數(shù)據(jù),返回結(jié)果只包含歸屬地,只有最后一個(gè)查詢結(jié)果有手機(jī)號(hào)碼。
case03: 給了100個(gè)數(shù)據(jù),返回結(jié)果只包含歸屬地,只有最后一個(gè)查詢結(jié)果有手機(jī)號(hào)碼。
case04: 給了300個(gè)數(shù)據(jù),返回結(jié)果只包含歸屬地,只有最后一個(gè)查詢結(jié)果有手機(jī)號(hào)碼。
case05: 給了500個(gè)數(shù)據(jù),返回結(jié)果只包含歸屬地,只有最后一個(gè)查詢結(jié)果有手機(jī)號(hào)碼。


總結(jié): 一是:會(huì)發(fā)生無(wú)法顯示號(hào)碼,只顯示歸屬地的問(wèn)題,這個(gè)問(wèn)題較嚴(yán)重了。
          二是:看起來(lái)500以內(nèi)的號(hào)碼查詢,都不會(huì)被服務(wù)器封殺掉。從原理上深入思考了一下,關(guān)于由“http://www.showji.com/”提供的手機(jī)號(hào)碼歸屬地在線查詢系統(tǒng),互聯(lián)網(wǎng)茫茫人海中將有多少人在“同一時(shí)刻"內(nèi)進(jìn)行該項(xiàng)操作,從server那一端是無(wú)法預(yù)估的,而它作為其他網(wǎng)站可以去調(diào)用的通用接口,更需要支持越多客戶端連接性能越好,也即同一時(shí)刻大基數(shù)群查詢的即時(shí)響應(yīng);而ip138網(wǎng)站一樣,只是給連接到該網(wǎng)站的用戶查詢使用,設(shè)置了防刷機(jī)制。由此看來(lái),兩個(gè)網(wǎng)站雖然提供的是同一種服務(wù),殊途同歸,但從用戶體驗(yàn)角度分析,卻千差萬(wàn)別,根源是兩者在web service這個(gè)美麗的外衣之下的底層架構(gòu)不一樣,所應(yīng)用之技術(shù)也不同罷,僅僅猜測(cè),若是不正確,望指正,小女子也學(xué)習(xí)一下。
           三是: 非常非常之感謝 ”x9x9“ 仁兄,給以耐心,細(xì)致,周到的解答,幫助小女子解了燃眉之急,受益匪淺。感謝perl論壇,眾壇友積極的捧場(chǎng),讓此貼子未能作”泰坦尼克號(hào)”狀沉沒(méi)下去,感謝版主老人家把小女子所回復(fù)之內(nèi)容從屏蔽狀態(tài)撤出使之又得以重現(xiàn)天光,推進(jìn)問(wèn)題解決。如若眾位捧場(chǎng)之人來(lái)SH,愿請(qǐng)吃飯以致謝意。




C:\Practice\Perl>test_ipcheck_v6.pl
18810340688     北京 北京
18810040188     北京 北京
15932344334     河北 張家口
18703883394     河南 鄭州
15901055555     北京 北京
13245875555     江蘇 南京

C:\Practice\Perl>test_ipcheck_v6.pl
18810340688     北京 北京
18810040188     北京 北京
15932344334     河北 張家口
18703883394     河南 鄭州
15901055555     北京 北京
        黑龍江 伊春
13845875555     黑龍江 伊春


C:\Practice\Perl>test_ipcheck_v6.pl
18810340688     北京 北京
18810040188     北京 北京
15932344334     河北 張家口
18703883394     河南 鄭州
15901055555     北京 北京
        黑龍江 伊春
malformed JSON string, neither array, object, number, string or atom, at character offset 0 ["\x{feff}<!DOCTYPE ht..."]
at C:\Practice\Perl\test_ipcheck_v6.pl line 13, <DATA> line 7.

C:\Practice\Perl>

C:\Practice\Perl>test_ipcheck_v7.pl
        江蘇 無(wú)錫
        江蘇 無(wú)錫
        江蘇 無(wú)錫
        江蘇 無(wú)錫
        江蘇 南京
        江蘇 南京
        江蘇 南京
        江蘇 鎮(zhèn)江
        江蘇 鎮(zhèn)江
        河北 邯鄲
        河北 石家莊
        河北 保定
        河北 張家口
        河北 邢臺(tái)
        河北 邢臺(tái)
        河北 保定
        河北 滄州
        河北 邢臺(tái)
        河北 邢臺(tái)
        河北 邯鄲
        河北 石家莊
        河北 保定
        河北 保定
        河北 保定
1340025 河北 保定




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2