perl 爬取数据<1>

时间:2023-10-15 20:56:37
use  LWP::UserAgent;
use POSIX;
use DBI;
$user="root";
$passwd="11111111";
$dbh="";
$dbh = DBI->connect("dbi:mysql:database=zjzc_vote;host=11.55.5.57;port=3306",$user,$passwd) or die "can't connect to database ". DBI-errstr;
$dbh->do("SET NAMES utf8");
use utf8;
use HTML::TreeBuilder;
if (-f "data.html"){
open FILE,">data.html";
close FILE;}
open DATAFH,">>data.html" || die "open data file failed:$!";
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;
$ua->agent("Mozilla/8.0"); my $response = $ua->get('https://licai.yingyinglicai.com/product/list.htm'); if ($response->is_success) {
print DATAFH $response->decoded_content; # or whatever
# print $response->decoded_content; # or whatever
use HTML::TreeBuilder::XPath;
my $tree= HTML::TreeBuilder::XPath->new;
$tree->parse_file( "data.html");
my @nb=$tree->findvalues( '/html/body//div[@class="fresh"]');
foreach (@nb){print "Product is $_\n";
chomp $_;
my $XDATE = strftime("%Y%m%d%H%M%S",localtime());
my $sql = "SELECT count(*) FROM p2p_product where productname='$_' and cname='yylc'";
my $sth = $dbh->prepare($sql);
$sth->execute(); my $count = $sth->fetchrow_array();
if ($count == 0 ){
my $host = "http://211.149.197.95:8888/sms.aspx?action=send&userid=74&account=SDK00026&password=960579&mobile=18957175628&content=$_&sendTime=&extno=";
my $response = $ua->get($host);
$ua->default_headers;
if ($response->is_success) {
print $response->decoded_content; # or whatever
}
$dbh->do("insert into p2p_product values ('$_','$XDATE','yylc')") or $!;
} }; }
else {
die $response->status_line;
};