`

下载图片

    博客分类:
  • Perl
阅读更多
#!/usr/bin/perl
use warnings;
use strict;
use LWP::Simple;

my $downloadDir="e:\\365doc\\picture";
my $tomcatDir = 'd:\Tomcat6.0\webapps\picture';
my $linkTemp = 'd:\temp\bb.html';
my $picTemp = 'd:\temp\cc.html';
my $baseUrl01 = "http://localhost:8080/";
my $baseUrl02 = "http://localhost:8080/mingbai365/";

my ($startUrl) = shift;
my $method = shift;

if(!defined($startUrl) || $startUrl =~ /^no$/){
    $startUrl = 'http://localhost:8080/mingbai365/index.mb';
}
if(defined($method) && $method eq "index"){
    &getPagePic($startUrl);
    &getLinkPic($startUrl);
}else{
    &getPagePic($startUrl);
}

# 取页面的链接页面的图片
sub getLinkPic{
    my ($indexUrl) = @_;
    &writeTemp($linkTemp,&get($indexUrl));
    open LINK_SRC, "<$linkTemp";
    while(<LINK_SRC>){
        if(/(href=")(.*\?.*?)(")/ && //){
            my $pageUrl = $2;
            print "href is : $2\n";
            if($2=~/http/){
                &getPagePic($pageUrl);
            }else{
                if($2=~/mingbai365/){
                    &getPagePic($baseUrl01.$pageUrl);
                }else{
                    &getPagePic($baseUrl02.$pageUrl);
                }
            }
        }
    }
    close LINK_SRC;
}
# 取页面内图片
sub getPagePic{
    my ($indexUrl) = @_;
    print "arg:$indexUrl======================================\n";
    my $count =1;
    while($count>0){
        $count--; 
        #取得网页的内容写入文件
        my $content = get($indexUrl);
        &writeTemp($picTemp,$content);

        #打开文件,处理内容(不会在内存中处理行,真白痴)
        open SRC, "<$picTemp";
        while(<SRC>){
            #找到图片模式
            if(m!(.*)(picture/)(\d+)(/)(.*jpg)(.*)!){
                my $picurl="http://www.mingbai365.com/".$2.$3.$4.$5;
                my $dest =$downloadDir.'\\'.$3."\\";
                #文件夹不存在,新建
                if(not -e $dest){
                    mkdir($dest);
                }
                #文件不存在,下载
                if(not -e $dest.$5){
                    getstore($picurl, $dest.$5);
                }
                print "$2$3$4$5\n";
            }
        }
        close SRC;
    }
    #windows 命令 复制文件
    system("xcopy $downloadDir $tomcatDir /d /s /c /y /i");
}
# 写入文件内容
sub writeTemp{
    my ($filePath,$content) = @_;
    open DEST_FILE, ">$filePath";
    print DEST_FILE $content;
    close DEST_FILE;
}
print  "结束了=================================";
0
0
分享到:
评论

相关推荐

    python-下载图片-图片下载器

    下载图片,图片下载器 适合人群:python初学者,想要上手试一试 能学到什么:1、python基本知识 2、pyqt5相关使用 3、beautifulsoup相关使用 阅读建议:此程序功能相对简单,适合初学者用于练手,并不支持商业化...

    C#下载Url图片

    Console.WriteLine("无法下载图片。"); } } ``` 接下来,我们引入MVVM模式。MVVM的主要思想是将用户界面(View)与业务逻辑(ViewModel)分离,Model层负责数据处理,ViewModel作为两者之间的桥梁。在这个场景中...

    C# winfrom中webservice接口连接服务器上传图片和下载图片

    总之,C# WinForm中的WebService接口连接服务器上传和下载图片,涉及到了文件操作、网络通信、数据转换等多个技术环节。理解并熟练掌握这些技术,能帮助开发者构建出高效、稳定且功能丰富的桌面应用程序。

    JS一键批量打包下载图片-demo

    适用场景:一键将页面上的全部图片打包下载,纯前端实现。 使用插件:jszip.js、filesaver.js、jquery 下载后直接用chrome、firefox、IE11+打开即可查看效果,仅供学习参考。

    Android例子源码异步批量下载图片并缓存

    在Android开发中,异步批量下载图片并缓存是一个常见的需求,特别是在开发涉及大量图片展示的应用时,如社交应用、电商应用等。本教程将基于提供的Android例子源码,深入探讨如何实现这一功能。 首先,我们需要理解...

    Android 下载图片保存到相册

    在Android平台上,下载图片并保存到用户设备的相册是一项常见的功能。这通常涉及到网络请求、文件操作以及与系统媒体库的交互。以下是对`Android 下载图片保存到相册`这一主题的详细讲解。 首先,我们需要理解...

    Android批量下载图片并缓存,非常流畅

    本教程将详细讲解如何在Android应用中实现批量下载图片并进行高效缓存,以实现非常流畅的用户体验。我们将主要关注LruCache技术,这是一种内存管理策略,有助于优化内存使用。 首先,我们需要理解Android中的图片...

    JAVA批量下载图片

    本项目标题为“JAVA批量下载图片”,这显然涉及到使用Java进行网络爬虫技术来实现图片的批量抓取与下载。下面我们将深入探讨这个话题。 首先,我们需要了解Java中的网络请求库,如HttpURLConnection、Apache ...

    基于QT,通过http/https开头的url下载图片的源代码

    在QT开发中,我们可以利用其丰富的库功能来实现各种网络操作,包括从HTTP或HTTPS协议的URL下载图片。这个项目提供了一个简单但实用的解决方案,它具有进度条显示功能,并且下载后的文件会保存在构建运行文件夹内。...

    Asp.net中下载图片的方法

    Asp.net 中下载图片的方法 在 Asp.net 中,直接将 URL 指向图片可能会导致图片被直接打开,而不是下载。这篇文章将介绍一种解决该问题的方法,即在 Asp.net 中下载图片的方法。 标题解释 该方法的标题为“ Asp.net...

    使用xutils下载图片小案例

    本案例将详细介绍如何利用XUtils来下载图片。 首先,我们需要了解XUtils的核心组件——XUtils框架。XUtils是一个轻量级的Android开发工具包,它整合了网络请求库HttpUtils、图片加载库ImageLoader以及数据库操作库...

    java批量下载图片

    根据给定的文件信息,我们可以总结出以下关于“Java批量下载图片”的相关知识点: ### Java批量下载图片:封装实现 #### 1. **程序结构与布局** - 程序使用`JFrame`作为主窗口,通过`JPanel`进行布局管理。 - ...

    android 下载图片到本地Sdcard

    以下是一个简单的示例,使用`java.net.URL`和`java.io.InputStream`来下载图片数据: ```java public static boolean downloadImage(String imageUrl, String targetFilePath) { try { URL url = new URL...

    网页图片下载 图片下载神器

    3. **图片抓取技术**:图片下载工具一般使用HTML解析和网络爬虫技术来识别和下载图片。它们解析HTML代码,找到`&lt;img&gt;`标签,获取src属性值,即图片URL,然后发起下载请求。 4. **批量下载**:批量下载功能是图片...

    webView长按点击下载图片

    本示例,即"webView长按点击下载图片",提供了一个简单的解决方案,让用户能够方便地保存网页中的图片,并能在手机图库中查看。 首先,我们需要了解WebView的基本用法。WebView继承自View,可以通过加载HTML、CSS、...

    C#使用webBrowser控件获取URL下载图片

    通过C#网络编程的webBrowser获取网页中的url并简单的尝试...其中主要的通过应用程序结合网页知识、正则表达式实现浏览、获取url、下载图片三个功能.而且很清晰的解析了每一步都是以前一步为基础实现的.结合知识博客.

    iOS用ASIHTTP框架异步队列下载图片显示进度条

    在iOS开发中,为了提升用户体验,我们经常需要在后台异步下载图片并实时更新下载进度。ASIHTTPRequest是一个经典的网络请求库,它提供了丰富的功能来帮助开发者处理这些需求。本篇文章将详细讲解如何利用...

    php采集类。含自动下载图片到本地

    自动下载图片并替换图片地址是一个常见的需求,尤其是在网页抓取过程中。当抓取到含有图片链接的HTML时,为了防止未来原始网站的图片链接失效,我们会将图片下载到本地,同时更新HTML中的图片源地址为本地路径。这一...

Global site tag (gtag.js) - Google Analytics