perl 爬取数据<1>

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;
               };

转载于:https://www.cnblogs.com/zhaoyangjian724/p/6200396.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值