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 是不间断空白符 我们通常所用的 ...
随机推荐
- NYIST 914Yougth的最大化【二分搜索/Dinkelbach算法】
转载请注明出处:http://www.cnblogs.com/KirisameMarisa/p/4187637.html 题目链接:http://acm.nyist.net/JudgeOnline/p ...
- MYSQLI - mysqli操作数据库
<?php //模型类 class Model { //数据库连接 private $_conn = NULL; //where语句 private $_where = NULL; //表名称 ...
- BZOJ 1800 fly-飞行棋
这道题其实考察的就是从其中能找到几条直径,因为这次数据范围比较小,所以只需设一个二维数组,记录一下每个点及每个点从零开始的位置,最后定一个变量记录周长,最后用个循环搜一下位置小于周长一半 ...
- springmvc中使用response的out.print问题
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws E ...
- hdu 1395 2^x mod n = 1 (简单数论)
题目大意: 求出一个最小的x 使得 2的x次方对n取模为1 思路分析: 若要 a*b%p=1 要使得b存在 则 gcd (a,p)=1. 那么我们应用到这个题目上来. 当n为偶数 2^x 也是偶数, ...
- Android SurfaceView实战 带你玩转flabby bird (上)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42965779 ,本文出自:[张鸿洋的博客] 1.概述 哈,记得以前写过Andro ...
- BZOJ 1009: [HNOI2008]GT考试( dp + 矩阵快速幂 + kmp )
写了一个早上...就因为把长度为m的也算进去了... dp(i, j)表示准考证号前i个字符匹配了不吉利数字前j个的方案数. kmp预处理, 然后对于j进行枚举, 对数字0~9也枚举算出f(i, j) ...
- qt执行cmd命令
源地址:http://blog.csdn.net/hn307165411/article/details/6858614 运行 route.ipconfig 肯定没问题 Copy code QProc ...
- 虚拟主机的配置、DNS重定向网站
虚拟主机的配置:我用的是localhost本地测试站点+Apache环境 第一步:找到Apache安装目录下的httpd-vhosts.conf文件,然后启用这个文件,如何启用这个文件呢?当然是在ht ...
- 基于visual Studio2013解决算法导论之007优先队列(堆实现)
题目 优先队列 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #in ...