perl 循环类选择器 ,爬取内容
jrhmpt01:/root/lwp/0526# cat 0526.txt
<div class="TXD_sy_title"><span class="TXD_sy_text_1">天下金专区</span> <span class="TXD_sy_text_2">投资期限自选 可进行债权转让 100元起投 每月还息,到期还本</span><span class="TXD_sy_text_3" style="float: right"><a href="/AnJuJinIntroduce.html" target="_blank">产品介绍 ></a> <a href="/AnJuJinIndex.html" target="_blank" class="grey">更多项目 ></a></span></div>
<div class="anjlist" id="txjDiv">
<ul class="altitle TXD_top_title">
<li class="alcw1 TXD_top_title1">项目名称</li>
<li class="alcw2">投资金额</li>
<li class="alcw3">剩余投资期限</li>
<li class="alcw4">预期年化收益</li>
<li class="alcw4">进度</li>
<li class="alcw5">起投金额</li>
<li class="alcw6">操作</li>
</ul> <ul class="alcomment" style="overflow: visible;">
<li class="alcw1"><a target="_blank" href="/invest/fd6b88342c69470fb8ae9365589f78aa.html">天下金 201605253763</a></li> <li class="alcw2">1,000,000.00元</li>
<li class="alcw3">27 天</li> <li class="alcw4">5.5% </li> <li class="alcw4 alcw41">
<div class="ajjbfb txdbfb bfb100">100<span>%</span></div>
</li>
<li class="alcw5">100.00元</li>
<li class="alcw6">
<div class="txdbtns4 mt27 ml40"><a href="/invest/fd6b88342c69470fb8ae9365589f78aa.html" target="_blank" class="txdpng">查看</a></div>
</li>
</ul> jrhmpt01:/root/lwp/0526# cat a2.pl
use LWP::UserAgent;
use DBI;
use POSIX;
use Data::Dumper;
use HTML::TreeBuilder;
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;
$ua->agent("Mozilla/8.0"); use HTML::TreeBuilder::XPath;
$tree= HTML::TreeBuilder::XPath->new;
$tree->parse_file( "0526.txt");
my @pages=$tree->find_by_tag_name('li');
#先循环取出所有的li标签的 类选择器
foreach (@pages) {
@titlepage = $_->attr('class');
foreach (@titlepage) {
if ($_){
print "\$_ is $_\n";
unless ($_ ~~ @urlall) { push (@urlall ,$_);};
};
};
}; print @urlall ;
print "\n"; ##循环类选择器 查找li标签的@class="$var"的值,class代表类选择器: .开头
foreach my $var (@urlall){
#my $url=qq(/html/body//li[@class='$var']);
my $url="/html/body//li\[\@class=xxx\]";
$url =~ s/xxx/"$var"/g;
print "\$url is $url\n";
@total= $tree->findvalues("$url");
print @total;
print "\n";
#my @title= $tree->findvalues('/html/body//li[@class="alcw4 alcw41"]'); };
jrhmpt01:/root/lwp/0526# perl a2.pl
$_ is alcw1 TXD_top_title1
$_ is alcw2
$_ is alcw3
$_ is alcw4
$_ is alcw4
$_ is alcw5
$_ is alcw6
$_ is alcw1
$_ is alcw2
$_ is alcw3
$_ is alcw4
$_ is alcw4 alcw41
$_ is alcw5
$_ is alcw6
alcw1 TXD_top_title1alcw2alcw3alcw4alcw5alcw6alcw1alcw4 alcw41
$url is /html/body//li[@class="alcw1 TXD_top_title1"]
项目名称
$url is /html/body//li[@class="alcw2"]
投资金额1,000,000.00元
$url is /html/body//li[@class="alcw3"]
剩余投资期限27 天
$url is /html/body//li[@class="alcw4"]
预期年化收益进度5.5%
$url is /html/body//li[@class="alcw5"]
起投金额100.00元
$url is /html/body//li[@class="alcw6"]
操作查看
$url is /html/body//li[@class="alcw1"]
天下金 201605253763
$url is /html/body//li[@class="alcw4 alcw41"]
100%
perl 循环类选择器 ,爬取内容的更多相关文章
- Scrapy教程——搭建环境、创建项目、爬取内容、保存文件
1.创建项目 在开始爬取之前,您必须创建一个新的Scrapy项目.进入您打算存储代码的目录中,运行新建命令. 例如,我需要在D:\00Coding\Python\scrapy目录下存放该项目,打开命令 ...
- 简单的爬虫爬的完整的<img>标签,修改正则即可修改爬取内容
简单的爬虫爬的完整的<img>标签,生成<img>标签结果文件与爬虫经历的网页. <?php/** 从给定的url获取html内容** */function _getUr ...
- python爬虫之爬取糗事百科并将爬取内容保存至Excel中
本篇博文为使用python爬虫爬取糗事百科content并将爬取内容存入excel中保存·. 实验环境:Windows10 代码编辑工具:pycharm 使用selenium(自动化测试工具)+p ...
- python爬虫爬取内容中,-xa0,-u3000的含义
python爬虫爬取内容中,-xa0,-u3000的含义 - CSDN博客 https://blog.csdn.net/aiwuzhi12/article/details/54866310
- pymysql 使用twisted异步插入数据库:基于crawlspider爬取内容保存到本地mysql数据库
本文的前提是实现了整站内容的抓取,然后把抓取的内容保存到数据库. 可以参考另一篇已经实现整站抓取的文章:Scrapy 使用CrawlSpider整站抓取文章内容实现 本文也是基于这篇文章代码基础上实现 ...
- post请求方式的翻页爬取内容及思考
1 #coding=utf-8 import urllib2 import urllib import json output = open('huizho.json', 'w') for page ...
- Java - XPath解析爬取内容
code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent; } pre { backg ...
- python框架Scrapy中crawlSpider的使用——爬取内容写进MySQL
一.先在MySQL中创建test数据库,和相应的site数据表 二.创建Scrapy工程 #scrapy startproject 工程名 scrapy startproject demo4 三.进入 ...
- python 爬虫爬取内容时, \xa0 、 \u3000 的含义
最近用 scrapy 爬某网站,发现拿到的内容里面含有 \xa0 . \u3000 这样的字符,起初还以为是编码不对,搜了一下才知道是见识太少 233 . \xa0 是不间断空白符 我们通常所用的 ...
随机推荐
- log4j:ERROR Could not find value for key log4j.appender.error
我是在rootLogger末尾增加R就好了. 终于我的配置环境例如以下: #设置日志的级别 ,多个以,分开(没有给出的,则不会被输出) log4j.rootLogger=info,error,R #D ...
- 代码中函数、变量、常量 / bss段、data段、text段 /sct文件、.map文件的关系[实例分析arm代码(mdk)]
函数代码://demo.c #include<stdio.h> #include<stdlib.h> , global2 = , global3 = ; void functi ...
- BZOJ 1216: [HNOI2003]操作系统( 优先队列 )
按题意用priority_queue模拟即可 ---------------------------------------------------------------------- #inclu ...
- Android 中 ListView Adapter getView 被多次调用问题 解决方法
执行多次原因是因为每显示一个VIew,它都去测量view的高度,执行measure方法,导致getView执行多次. 解决方法是将 ListView 的 layout_width 设置为 fill_p ...
- 10个值得我们关注的python博客
大家好,还记得我当时学习python的时候,我一直努力地寻找关于python的博客,但我发现它们的数量很少.这也是我建立这个博客的原因,向大家分享我自己学到的新知识.今天我向大家推荐10个值得我们关注 ...
- js中innerHTML与innerText的用法与区别
用法: <div id="test"> <span style="color:red">test1</span> te ...
- Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)
尽管QT5.5.1和VisualStudio 2015都已经发布很久了,但是QT项目组视乎不会为QT5.5.1专门发布预编译的QT5.5.1 for windows(2015)版本的,也不会专门发布V ...
- Cognos 图表用图片取代”没有数据显示”
在Cognos中做出来报表展示的时候因为没有数据感觉显示“没有可用数据”感觉很不美观.所以想用一张图片代替. 在图表的属性里面有一个“无数据内容”,点击打开之后有三个选项: 默认就是显示“没有可用数据 ...
- Hadoop: the definitive guide 第三版 拾遗 第十章 之Pig
概述: Pig的安装很简单,注意一下几点: 1.设置系统环境变量: export PIG_HOME=.../pig-x.y.z export PATH=$PATH:$PIG_HOME/bin 设置完成 ...
- 找球号(一)(hask表)
找球号(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<= ...