作者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
1F:推 LiloHuang:最近没有空去trace ptt现在的状况...不过只能说ptt最近 01/24 14:18
2F:→ LiloHuang:改太多东西了...像是文章内容的输出 好像叫pmore之类的 01/24 14:18
3F:→ LiloHuang:你抓的到文章内容如果又要转换ansi彩色编码会有不少问题 01/24 14:19
4F:→ lalelee:我想知道为什麽 &put("s$board\n\n"); 会没有work.. 01/24 15:43
5F:推 albb0920:maple-ptt 舍弃原本的more.c 改为 pmore (piaip's more) 01/24 16:54
6F:推 LiloHuang:我猜应该没有做到这一行 可以再试试看 01/24 16:56
7F:→ lalelee:不是没有做到 是它在我原本输入帐号的地方work了.. 01/25 17:36
8F:→ lalelee:它提前做了 应该要在我登入完成之後再执行 01/25 17:38
9F:推 LiloHuang:你应该仔细看一下我的程式码...选择看板应该是到主画面 01/25 17:46
10F:推 LiloHuang:确定到主画面之後才可以进行这个动作... 01/25 17:47
11F:→ LiloHuang:昨天没有仔细看程式 你的流程跟我的是不一样的 01/25 17:47