<pre name="code" class="python">use  LWP::UserAgent;
use utf8;
use DBI;
use POSIX;
use Data::Dumper;
use HTML::TreeBuilder;
use HTML::TreeBuilder::XPath;
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;
$ua->agent("Mozilla/8.0");
#my $response = $ua->get('http://data.10jqka.com.cn/financial/yjyg/date/2016-12-31/board/ALL/field/enddate/order/desc/page/1/ajax/1/');
#my $response = $ua->get('http://data.10jqka.com.cn/financial/yjyg/');
my @array=('2016-12-31','2016-03-31','2015-12-31','2015-09-30','2015-06-30','2015-03-31','2014-12-31','2014-09-30','2014-03-31'); foreach (@array){
print "\$_ is $_\n";
my $url="http://data.10jqka.com.cn/financial/yjyg/date/$_/board/ALL/field/enddate/order/desc/page/1/ajax/1/";
print "\$url is $url\n";
my $response = $ua->get($url);
if ($response->is_success) {
open DATAFH,">data.html" || die "open data file failed:$!";
print DATAFH "<html>";
print DATAFH "\n";
print DATAFH $response->decoded_content; # or whatever
print DATAFH "</html>";
print DATAFH "\n";
};
close DATAFH;
unlink("ths.html");
system('cp data.html ths.html');
$tree= HTML::TreeBuilder::XPath->new;
$tree->parse_file( "ths.html"); my $title="$_";
#my $title= $tree->findvalue('/html/body//span[@class="text-value"]');
print "\$title is $title\n";
my @pages="";
my @titlepage="";
$max="";
my @pages=$tree->find_by_tag_name('a');
print "\@pages is @pages\n";
#@urlall除了包含每个类别的文章,还包含阅读排行里的文章
foreach (@pages) {
@titlepage = $_->attr('page');
foreach (@titlepage) {
if ($_){
if ( $_ > $max ){
$max=$_;
}; ###获取版块中每个页面的url
};
};
};
unless ($max){$max=1};
print "\$max is $max\n";
sleep (5); for ($m=1;$m<=$max; $m++){ my $url="http://data.10jqka.com.cn/financial/yjyg/date/$_/board/ALL/field/enddate/order/desc/page/$m/ajax/1/";
my $response = $ua->get("$url");
if ($response->is_success) {
open DATAFH,">data.html" || die "open data file failed:$!";
print DATAFH "<html>";
print DATAFH "\n";
print DATAFH $response->decoded_content; # or whatever
print DATAFH "</html>";
print DATAFH "\n";
close DATATH;
};
unlink("ths.html");
system('cp data.html ths.html');
$tree= HTML::TreeBuilder::XPath->new;
$tree->parse_file( "ths.html"); my @arr1= $tree->find_by_tag_name("tr") ;
#shift @arr1;
foreach my $row ( @arr1) {
my @arr2= $row->content_list; my $str1= $arr2[0]->as_text;
my $str2= $arr2[1]->as_text;
my $str3= $arr2[2]->as_text;
my $str4= $arr2[3]->as_text;
my $str5= $arr2[4]->as_text;
my $str6= $arr2[5]->as_text;
my $str7= $arr2[6]->as_text;
my $str8= $arr2[7]->as_text;
print $str1, $str2, $str3, $str4, $str5, $str6, $str7,$str8."\n";
open( E, ">>", "$title-$m.txt" );
print E ($str1."|".$str2."|".$str3."|".$str4."|".$str5."|".$str6."|".$str7."|".$str8."\n");
close E; }
}
}
												

perl 爬取上市公司业绩预告的更多相关文章

  1. Perl爬取江西失信执行

    #! /usr/bin/perl use strict; use Encode qw(encode decode); binmode(STDIN,":encoding(utf8)" ...

  2. Perl爬取铁路违章旅客信息

    #! /usr/bin/perl use strict; use Encode qw(encode decode); binmode(STDIN,":encoding(utf8)" ...

  3. perl 爬取某理财网站产品信息

    use LWP::UserAgent; use utf8; use DBI; $user="root"; $passwd="xxxxx"; $dbh=" ...

  4. perl 爬取数据<1>

    use LWP::UserAgent; use POSIX; use DBI; $user="root"; $passwd="11111111"; $dbh=& ...

  5. perl 爬取csdn

    <pre name="code" class="python">use LWP::UserAgent; use POSIX; use HTML::T ...

  6. perl 爬取同花顺数据

    use LWP::UserAgent; use utf8; use DBI; $user="root"; $passwd='xxx'; $dbh=""; $db ...

  7. Python爬取CSDN博客文章

    0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.win ...

  8. 用WebCollector制作一个爬取《知乎》并进行问题精准抽取的爬虫(JAVA)

    简单介绍: WebCollector是一个无须配置.便于二次开发的JAVA爬虫框架(内核),它提供精简的的API.仅仅需少量代码就可以实现一个功能强大的爬虫. 怎样将WebCollector导入项目请 ...

  9. Java爬虫_资源网站爬取实战

    对 http://bestcbooks.com/  这个网站的书籍进行爬取 (爬取资源分享在结尾) 下面是通过一个URL获得其对应网页源码的方法 传入一个 url  返回其源码 (获得源码后,对源码进 ...

随机推荐

  1. Linux Mysql 总结

    一:Error Code: . Access denied for user 'root'@'%' to database ① mysql -u root -p 进入到mysql中 ②SELECT h ...

  2. ArrayList与LinkedList时间复杂度之对比

    package ArrayList; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections ...

  3. Python核心编程笔记--unicode编码

    #定义编码方式,与物理文件. code='utf-8'file='D:/utf8.txt' #把编码后的字符写入文件. hello_out =u'hello world'bytes_out =hell ...

  4. SQL Server 日志截断

    截断事务日志是逻辑操作,只是把日志的一部分标记为‘不再需要’所以可以重用这个空间,截断不是物理操作,不会减少磁盘上文件的大小, 要减小物理大小必定要进行收缩. ----------- 有时就算是备份都 ...

  5. C++一维数组和指针的关系总结

    对于数组int a[10]; a表示数组的第一个元素的地址,即&a[0]; 如果使指针p,指向数组的首元素,可以进行操作: int * p=a; 或者 int *p=&a[0]; 那么 ...

  6. 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统

    上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...

  7. B树、B-树、B+树、B*树都是什么(转)

    B树        即二叉搜索树:        1.所有非叶子结点至多拥有两个儿子(Left和Right):        2.所有结点存储一个关键字:        3.非叶子结点的左指针指向小于 ...

  8. 解决Adobe Acrobat “正在纠偏图像,正在旋转图像,正在分解页面”问题

    笔者最近遇到的一个问题:用acrobat Pro X 打开pdf显示“正在纠偏图像,正在旋转图像,正在分解页面”,此时acrobat没有响应,要等待其完成,出现就得等一会儿,总出现,总得停顿,看一篇文 ...

  9. .net 资源

    基于.net构架的留言板项目大全源码 http://down.51cto.com/zt/70 ASP.net和C#.net通用权限系统组件功能教程 http://down.51cto.com/zt/1 ...

  10. asp.net word内容读取到页面

    1.添加Microsoft.Vbe.Interop.dll引用. 2.以下方法可以简单的读取到word文档文字内容,不包括图片.格式等. private string ReadWordFile(str ...