[新技术]Perl写的灌水机(转载)

本文介绍了一种使用Perl编程语言结合OLE自动化技术的方法,实现对特定论坛页面的自动浏览及发帖功能。通过创建InternetExplorer.Application对象并监听其事件,实现了网页加载完成后的自动填写表单和提交操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!perl
# Demonstrate the programming using OLE with Perl
# earn money at eetop.cn/bbs
# By Alan
# 2010-05-15

use warnings;
use strict;
use Data::Dumper;
use Win32::OLE qw( EVENTS );

 

my $time;
$|=1;
open LOG,">>guanshui.txt" or die $!;
my $j = 0;
my $url='http://www.eetop.cn/bbs/thread-252321-1-2.html';


Win32::OLE->Initialize(Win32::OLE::COINIT_OLEINITIALIZE);
my $ie = Win32::OLE->new( 'InternetExplorer.Application' ) or die "error starting IE";

$ie->{visible} = 0;
Win32::OLE->WithEvents( $ie, \&Event, 'DWebBrowserEvents2' );
Win32::OLE->Option( Warn => 3 );

 

for (0..1000) {
    $j++;
    print "Nagivate to $url\n";
    $ie->navigate($url);
    Win32::OLE->MessageLoop();
    sleep 65;
}

$ie->Quit() if (defined $ie);

 
sub Event
{
    my ($obj,$Event,@Args) = @_;
    my $IEObject = shift @Args;
 
    #print "$obj $Event @Args/n";
    if ($Event eq 'DocumentComplete') {
        my $Doc = $IEObject->{Document};
        if ( $Doc->{URL} =~ "$url" ) {
            my $elem= $Doc->getElementById('fastpostmessage');
            my $form = $Doc->getElementById('fastpostform');

            $time = localtime();
            $elem->{value} = '我是来灌水挣钱的...,, 拿分走人...By uestc_apache @ '.$time;
            $form->submit();
            print " $j 灌水成功 @ $time\n";
            print LOG "灌水成功 $j \n";
            Win32::OLE->QuitMessageLoop();
        }
    }

    Win32::OLE->QuitMessageLoop() if $Event eq "OnQuit" ;
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值