Perl爬取江西失信执行
#! /usr/bin/perl
use strict;
use Encode qw(encode decode);
binmode(STDIN,":encoding(utf8)");
binmode(STDOUT,":encoding(utf8)");
binmode(STDERR,":encoding(utf8)");
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;
use HTML::TreeBuilder; my @urls;
pushurl(2,"http://sxr.jxnews.com.cn/gy_alllist.php?page=");
pushurl(10,"http://sxr.jxnews.com.cn/sx_list.php?id=22&page=");
pushurl(23,"http://sxr.jxnews.com.cn/sx_list.php?id=23&page=");
pushurl(5,"http://sxr.jxnews.com.cn/sx_list.php?id=24&page=");
pushurl(2,"http://sxr.jxnews.com.cn/sx_list.php?id=25&page=");
pushurl(5,"http://sxr.jxnews.com.cn/sx_list.php?id=26&page=");
push(@urls,"http://sxr.jxnews.com.cn/sx_list.php?id=27");
pushurl(2,"http://sxr.jxnews.com.cn/sx_list.php?id=28&page=");
pushurl(274,"http://sxr.jxnews.com.cn/sx_list.php?id=29&page=");
push(@urls,"http://sxr.jxnews.com.cn/sx_list.php?id=30");
pushurl(6,"http://sxr.jxnews.com.cn/sx_list.php?id=31&page=");
pushurl(177,"http://sxr.jxnews.com.cn/sx_list.php?id=32&page=");
push(@urls,"http://sxr.jxnews.com.cn/sx_list.php?id=33");
print scalar @urls,"\n"; my @urlset;
foreach my $key(@urls){
my $browser=LWP::UserAgent->new();
my $request=HTTP::Request->new("GET"=>$key);
my $response=$browser->request($request);
my $html=$response->content;
my @urls;
while($html=~/href=\"list1\.php\?(.*)\"\starget/g){
my $url1="http://sxr.jxnews.com.cn/list1.php?$1"; #这一步主要是获取id,并与绝对路径拼接,得到的url为最终的请求地址
print $url1,"\n";
push(@urlset,$url1);
}
} open FD ,">>/home/hqh/Desktop/黄启豪/爬虫/江西失信执行/file";
binmode(FD,":encoding(utf8)"); map{getinfo($_)}@urlset;
sub getinfo{
my $url=shift;
my $browser=LWP::UserAgent->new();
my $request=HTTP::Request->new("GET"=>"$url");
my $response=$browser->request($request);
my $html=$response->content;
$html=decode("gb2312", $html);
my $p=HTML::TreeBuilder->new_from_content($html);
my @element1=$p->look_down(_tag=>"table",class=>"imagetable");
foreach(@element1){
my $temp=$_->as_text();
$temp=encode("utf8",$temp);
if($temp=~/被执行人详细信息被执行人:(.*)年龄:(.*)性别:(.*)身份证号码\/组织机构代码:(.*)地址:(.*)案件详细信息立案日期:(.*)执行依据文号:(.*)执行法院:(.*)法律文书确定的义务:(.*)被执行人履行情况:(.*)被执行人失信情形:(.*)/){
my $out=join("||",decode("utf8",$1),
decode("utf8",$2),
decode("utf8",$3),
decode("utf8",$4),
decode("utf8",$5),
decode("utf8",$6),
decode("utf8",$7),
decode("utf8",$8),
decode("utf8",$9),
decode("utf8",$10),
decode("utf8",$11)); #这里用一个正则表达式就可以把表格中所有的数据抽取出来。
print FD $out,"\n";
}
}
} sub pushurl{
my($len,$url)=@_;
for(my $i=0;$i<$len;$i++){
push(@urls,$url.$len);
}
}
Perl爬取江西失信执行的更多相关文章
- Perl爬取铁路违章旅客信息
#! /usr/bin/perl use strict; use Encode qw(encode decode); binmode(STDIN,":encoding(utf8)" ...
- perl 爬取某理财网站产品信息
use LWP::UserAgent; use utf8; use DBI; $user="root"; $passwd="xxxxx"; $dbh=" ...
- perl 爬取数据<1>
use LWP::UserAgent; use POSIX; use DBI; $user="root"; $passwd="11111111"; $dbh=& ...
- perl 爬取csdn
<pre name="code" class="python">use LWP::UserAgent; use POSIX; use HTML::T ...
- perl 爬取上市公司业绩预告
<pre name="code" class="python">use LWP::UserAgent; use utf8; use DBI; use ...
- perl 爬取同花顺数据
use LWP::UserAgent; use utf8; use DBI; $user="root"; $passwd='xxx'; $dbh=""; $db ...
- 淘宝地址爬取及UI展示
淘宝地址爬取及UI展示 淘宝国家省市区街道获取 参考 foxiswho 的 taobao-area-php 部分代码,改由c#重构. 引用如下: Autofac MediatR Swagger Han ...
- 芝麻HTTP:JavaScript加密逻辑分析与Python模拟执行实现数据爬取
本节来说明一下 JavaScript 加密逻辑分析并利用 Python 模拟执行 JavaScript 实现数据爬取的过程.在这里以中国空气质量在线监测分析平台为例来进行分析,主要分析其加密逻辑及破解 ...
- Scrapy定时执行爬取任务与定时关闭任务
当我们利用Python scrapy框架写完脚本后,脚本已经可以稳定的进行数据的爬取,但是每次需要手动的执行,太麻烦,如果能自动运行,在自动关闭那就好了,经过小编研究,完全是可以实现的,今天小编介绍2 ...
随机推荐
- 【MySQL】排序原理与案例分析
前言 排序是数据库中的一个基本功能,MySQL也不例外.用户通过Order by语句即能达到将指定的结果集排序的目的,其实不仅仅是Order by语句,Group by语句,Distinct语句都会隐 ...
- [转]mysql在windows下支持表名大小写,lower_case_table_names
windows下mysql默认是不支表名大小写的,也就是表名大小写不敏感.用phpmyadmin创建的驼峰式表名,全部被强制成小写.mysql表名大小写敏感的参数: lower_case_table_ ...
- OAF_开发系列25_实现OAF中Java类型并发程式开发oracle.apps.fnd.cp.request(概念)
20150719 Created By BaoXinjian
- Android EditText输入格式设置
在开发的过程中,通常会用到EditText,如何让虚拟键盘来适应输入框中内容的类型,通常我们都会在xml文件中加入android:inputType="". android:inp ...
- c++指针与引用问题
本来是回答问题的,到这里做个笔记 *&L是指针的引用,实参是个指针.所以L是实参指针的别名,对别名L的修改,等于对实参的修改.*L是传值,你无法改变传过来的实参指针变量的值程序代码: #inc ...
- 【HOW】用PowerShell脚本修改用户配置文件属性显示次序
首先将如下脚本保存为PowerShell文件,如:ReorderUserProfileProperty.ps1. 在执行此脚本时,如果不输入任何参数,将列出所有用户配置文件属性的名称和显示次序:如果只 ...
- Shopping(山东省第一届ACM省赛)
Shopping Time Limit: 1000MS Memory limit: 65536K 题目描述 Saya and Kudo go shopping together.You can ass ...
- zookeeper是什么?原理是什么?【转】
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等.Zookeeper是hadoop的一个子项目,其 ...
- CacheManager COUNTER
CacheClient.AddOrUpdate("COUNTER", 0, v => Convert.ToInt32(v) + 1);
- GNU/Linux复习笔记(2)
---IO重定向: 典型的冯诺依曼计算机由5大部件组成:运算器,控制器,存储器,输入设备和输出设备.而一台计算机上可能有很多输入设备和输出设备,键盘.麦克风是输入设备,显示器.声卡是输出设备,网卡.硬 ...