作者lalelee (找我玩五子棋)
看板Perl
標題Re: [討論] 一個跟PTT有關的有趣模組
時間Thu Jan 24 13:59:42 2008
不好意思~
從版主的程式當中擷取出來改寫如下 ,
直接登入都沒有問題,
但是跑到要"進入看板"的部份時就沒辦法繼續下去了,
它會把$board ,put 到輸入帳號的地方..
可以請教一下是為什麼嗎?
我最後是希望能把文章抓回來再做處理..
謝謝~
以下改寫自 "莉洛-空房間的秘密" 部落格:
#!/usr/bin/perl
use Net::Telnet;
use Time::HiRes qw(usleep);
$host = "ptt.cc";
$id = "xxx";
$pass = "xxx";
$board ="Perl";
my %login = (
"請輸入代號" => "$id\n",
"請輸入您的密碼" => "$pass\n",
"您想刪除其他重複的" => "N\n",
"錯誤嘗試" => "\n",
"任意鍵" => "\n",
"酸甜苦辣板" => "q"
);
&build;
while( $buf = &get )
{
foreach (keys %login)
{
&put($login{$_}) if($buf=~/$_/);
}
&put("s$board\n\n"); # 進入看板
print $buf ; #秀出文章標題
}
sub build {
$bot = new Net::Telnet (
Port => 23,
Timeout => 30,
Errmode => \&error
);
$bot->open($host);
}
sub put {
$bot->put($_[0]);
usleep(200000);
}
sub get {
usleep(200000);
return $bot->get( Timeout => 10 );
}
sub error {
print "網路連線逾時或程式發生異常, 程式即將關閉!\n\n";
system("PAUSE");
$bot->close;
exit;
}
sub except {
print "$_[0]\n\n";
system("PAUSE");
exit;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.79.38.211
推 LiloHuang:最近沒有空去trace ptt現在的狀況...不過只能說ptt最近 01/24 14:18
→ LiloHuang:改太多東西了...像是文章內容的輸出 好像叫pmore之類的 01/24 14:18
→ LiloHuang:你抓的到文章內容如果又要轉換ansi彩色編碼會有不少問題 01/24 14:19
→ lalelee:我想知道為什麼 &put("s$board\n\n"); 會沒有work.. 01/24 15:43
推 albb0920:maple-ptt 捨棄原本的more.c 改為 pmore (piaip's more) 01/24 16:54
推 LiloHuang:我猜應該沒有做到這一行 可以再試試看 01/24 16:56
→ lalelee:不是沒有做到 是它在我原本輸入帳號的地方work了.. 01/25 17:36
→ lalelee:它提前做了 應該要在我登入完成之後再執行 01/25 17:38
推 LiloHuang:你應該仔細看一下我的程式碼...選擇看板應該是到主畫面 01/25 17:46
推 LiloHuang:確定到主畫面之後才可以進行這個動作... 01/25 17:47
→ LiloHuang:昨天沒有仔細看程式 你的流程跟我的是不一樣的 01/25 17:47