Perl:分析页面,提取下载链接和文件对应的名称。

系统:Windows

语言:Perl

工具:Notepad++/cmd

目前要用PERL来分析一下页面。然后组群下载文件然后更名。

首先,rar文件连接在二级文件里。rar文件的名称是数字,其对应的中文名称在一级页面上对应二级页面的连接。我看了Perl的Cookbook,里面建议用模块。但是我打算用正则表达式自己写一个脚本。这里只用了简单的LWP::Simple模块。

技术:这里使用了正则表达式的$1,$2...来提取一行中需要的段。(需要注意的是:$1,$2...的命名空间只是它们上一个带有()的正则表达式。最近一个带有()的正则表达式已经失效了。除非即时赋值给变量。)

#t.pl
# to split out index url and rar page.
use warnings;
use LWP::Simple;

sub getDownloadPage {

my @lines=split("\n", $_[0]);
my $line1="";
    foreach my $line(@lines) {

        if ($line=~/<li class="itm">[^<]*<span> *[0-9]{4}-[0-9]{2}-[0-9]{2} *<\/span>[^<]*<a href="([^"> ]*)" *>([^<]*)</) {
            print $1," ",$2,"\n";
        }
    }
}

my @indexes;
unshift @indexes, "http://www.yingyu.com/stxz/chuzhong/zhongkao/";
# get index page.
my $content=get($indexes[0]);
my @hrefs=split "href=\"", $content;
shift @hrefs;
foreach $href(@hrefs) {
    if($href=~/(http:\/\/.*index[_0-9]*\.shtml)" *>[0-9]+/) {
        push @indexes, $1;
    }
}
#page download page and its relative Chinese name.
foreach $index(@indexes) {
    $content=get($index);
    # my @pages=split "<li ", $content;
    # shift @pages;
    getDownloadPage($content);

}
时间: 2024-10-01 02:50:34

Perl:分析页面,提取下载链接和文件对应的名称。的相关文章

下载链接提取

有的小,支持分享,但速度慢还限速: 有的一般,支持限时分享,但限流: 有的大,支持分享,但速度慢还限速,16年10月直接死了: 有的一般,但不支持分享还绑浏览器…… 想保存点东西,就这么难吗? 说多了都是泪,进入正题. 以下是小文所写的一点东西,用于提取下载链接.使用对象我也不说得那么明显了,免螃蟹. 0.1 //0.1 //by 小文 2016-12-20 //使用方法 // 打开网盘的文件下载列表 // 复制代码片段1到浏览器控制台,回车 // 复制代码片段2到浏览器控制台,回车 //功能说

使用htmlparse爬虫技术爬取电影网页的全部下载链接

昨天,我们利用webcollector爬虫技术爬取了网易云音乐17万多首歌曲,而且还包括付费的在内,如果时间允许的话,可以获取更多的音乐下来,当然,也有小伙伴留言说这样会降低国人的知识产权保护意识,诚然,我们的重点在于如何灵活运用我们已学的技术,这就需要我们不断的练习,不停的思索和深入发掘,在了解了精髓和意义之后运用到实践中才是技术的最高境界. 今天呢,本着昨天的兴趣,想来爬一爬电影资源,中途为了找一个好用趁手的工具,也是费了不少心思,早上半天基本上都在学习和找资料的过程中度过,下午开始才进入状

Java爬虫实战(二):抓取一个视频网站上2015年所有电影的下载链接

前言:这是Java爬虫实战的第二篇文章,在第一篇文章仅仅只是抓取目标网站的链接的基础上,进一步提高难度,抓取目标页面上我们所需要的内容并保存在数据库中.这里的测试案例选用了一个我常用的电影下载网站(http://www.80s.la/).本来是想抓取网站上的所有电影的下载链接,后来感觉需要的时间太长,因此改成了抓取2015年电影的下载链接. 注:文末有我抓取到的整个列表的下载链接(包括:电影名称和迅雷下载链接) 一 原理简介 其实原理都跟第一篇文章差不多,不同的是鉴于这个网站的分类列表实在太多,

获取youku视频下载链接(wireshark抓包分析)

随便说两句 前两天写了一个python脚本,试图以分析网页源码的方式得到优酷视频的下载地址,结果只得到视频的纯播放地址,下载纯播放地址得到的文件也无法正常播放视频. 这里共享一下播放地址得到的方法(想看的可以展开折叠): # 实验视频地址:http://v.youku.com/v_show/id_XMTY3OTYyODM2NA==.html?f=27873045&from=y1.2-3.2 # 解析到播放地址:http://static.youku.com/v1.0.0646/v/swf/loa

每天一个JavaScript实例-提取所有链接并添加到页面末尾列表

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-提取所有链接并添加到页面末尾列表</title> <script> window.onload = function(){ var lin

OSS内文件如何设置为无时间限制的下载链接

OSS内文件如何设置为无时间限制的下载链接 想把一些文件上传到OSS里,把OSS当网盘用,做成分享的下载链接 发现获取的链接都是有时间限制的 有没有取消这个时间限制的功能或者方法 请将object的权限修改为"公共读",即可取消下载时间限制

查看firefox浏览器 驱动geckodriver.exe文件的版本号的方法,以及下载链接

1-进入到geckodriver.exe文件的目录: 2-在路径栏下输入cmd: 3-命令行界面下输入:geckodriver.exe -h 可以看到文件的帮助信息,其中第一行就列出了版本号 为0.19.1 4-geckodriver驱动文件历史版本的下载链接: https://github.com/mozilla/geckodriver/releases 原文地址:https://www.cnblogs.com/xiaxiaoxu/p/9343971.html

生成Ipa安装包的plist文件后生成下载链接

假设生成的plist文件的下载链接是: https://www.xx.com/download/xx.plist 那么如果想让苹果手机的浏览器点击后开始下载苹果软件包,则网页中的下载链接需要拼接成 itms-services://?action=download-manifest&url=https://www.xx.com/download/xx.plist 今天是难忘的一天 原文地址:https://www.cnblogs.com/Stay-J/p/9691655.html

微信扫描二维码在内置浏览器打不开文件的下载链接怎么办?哪些api接口可以解决

有哪些api接口可以实现微信扫描二维码在内置浏览器打开文件的下载链接? 经常看到贴吧上有人吐槽微信的检测系统太严格了,动不动就拦截第三方链接.怎么才能解决,怎么才能避免等等一系列的问题.因为平时我也会分享一些有趣的app给朋友,所以这个问题就成了我的心头大患.于是我去百度找各种解决方案,最终找到了几个比较靠谱的api接口,用了以后感觉挺方便的,特写该篇文章分享给大家: Mindjump-API接口平台 366API-接口平台 大象跳转-API接口平台 这三个平台就接口稳定性这块相差都不大,唯一就