做新闻文章,我们或多或少地转载别人的成果,那怎么样把图片也下载到自已的服务器里呢?我这有一段代码,敬请指教!

using System;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;

namespace zhang.Common
{
    public class HanlerFiles
    {
        private string[] GetImgTag(string htmlStr)
        {
            Regex regObj = new Regex("<img.+?>", RegexOptions.Compiled | RegexOptions.IgnoreCase);
            string[] strAry = new string[regObj.Matches(htmlStr).Count];
            int i = 0;
            foreach (Match matchItem in regObj.Matches(htmlStr))
            {
                strAry[i] = GetImgUrl(matchItem.Value);
                i++;
            }
            return strAry;
        }


        private string GetImgUrl(string imgTagStr)
        {
            string str = "";
            Regex regObj = new Regex("http://.+.(?:jpg|gif|bmp|png)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
            foreach (Match matchItem in regObj.Matches(imgTagStr))
            {
                str = matchItem.Value;
            }
            return str;
        }

        /**//// <summary>
        /// 根椐Html内空自动识别图像文件,并下载到服务器指定目录
        /// </summary>
        /// <param name="strHTML"></param>
        /// <param name="path"></param>
        /// <returns></returns>
        public int SaveUrlPics(ref string strHTML, string path)
        {
            string[] imgurlAry = GetImgTag(strHTML);
            try
            {
                for (int i = 0; i < imgurlAry.Length; i++)
                {
                    //WebRequest req = WebRequest.Create(imgurlAry[i]);
                    string preStr = System.DateTime.Now.ToString() + "_";
                    preStr = preStr.Replace("-", "");
                    preStr = preStr.Replace(":", "");
                    preStr = preStr.Replace(" ", "");
                    WebClient wc = new WebClient();
                    wc.DownloadFile(imgurlAry[i], HttpContext.Current.Server.MapPath(path) + "/" + preStr + imgurlAry[i].Substring(imgurlAry[i].LastIndexOf("/") + 1));
                    strHTML = strHTML.Replace(imgurlAry[i], path + preStr + imgurlAry[i].Substring(imgurlAry[i].LastIndexOf("/") + 1));
                }
                
            }
            catch (Exception ex)
            {
                //return ex.Message;
            }
            return imgurlAry.Length;
        }



    }
}

至强工作室 www.haotaoci.com

转载于:https://www.cnblogs.com/zhang/archive/2007/07/25/830308.html

自动识别HTML代码里的图片链接,并下载到服务器的指定目录(开源)相关推荐

  1. python爬虫一:必应图片(从网页源代码中找出图片链接然后下载)

    这里讲解最简单的爬虫:从网页源代码中找出图片链接然后下载 代码: #coding=utf-8 #必应图片爬虫 import re import os import urllib.request url ...

  2. 如何把C盘里的文件默认位置更改到D盘指定目录?

    如何把C盘里的文件默认位置更改到D盘指定目录? 1.打开运行,输入 %HOMEPATH% 2.以"桌面"文件转移到D盘目录为例(其他文档类比进行操作) 3.鼠标右键"桌面 ...

  3. 【tkGo】将Excel里的图片链接替换为图片(Excel嵌入图片)

    1 背景 因为某些原因,我们的Excel里会放入一些图片链接,但查看的时候需要一个个点开,通过浏览器显示,非常麻烦. 我们可以通过python的openpyxl这个库来解决此问题,一键替换所有链接为图 ...

  4. 代码里无图片地址_项目实战:爬高清图片

    ↑ 关注 + 星标 ,后台回复[大礼包]送你2TPython自学资料 好消息:Python学习交流群,已经建立,猛戳加入 之前我发过一些爬虫的文章,不过一直没发过爬取图片的,今天就给大家分享一篇吧! ...

  5. 服务器里的文件链接地址怎么写,服务器里的文件链接地址怎么写

    服务器里的文件链接地址怎么写 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. G ...

  6. 爬取网页图片链接并下载保存

    先把需要爬取的网页链接写到表格中 读取表格信息 import xlrd excel_path = '/Users/yt/Desktop/chaye.xlsx'workbook: xlrd.book.B ...

  7. php 读取指定路径照片,必应每日图片合集程序之php读取指定目录图片

    [收起] 文章目录 今天晚上无聊(明天就去学校了).打开必应搜索发现他们的背景每天都不同,当然我不是才发现.上网搜索了下:有不少关于用PHP获取必应壁纸的功能但是大部分都不能下载存储在服务器.所以博主 ...

  8. 代码行统计工具:根据命令行输入的指定目录及文件类型进行统计目录或单个文件的代码行数

    #统计指定目录(count_path).指定文件类型文件(file_types)的代码量 import os def count_all_file_code(count_path,file_types ...

  9. 多个京东商品链接里的图片素材一键下载

    今天小编给大家分享一个快速批量保存商品图片素材的好方法.下面以京东的商品为例,给大家来个演示操作,当我们在挑选喜欢的商品时,想把几个商品的图片素材都给保存下来该如何操作呢?下面一起来看看吧. 找到商品 ...

最新文章

  1. ESXi6.5环境搭建(一:VMware Workstations 12 Pro 环境的安装及配置)
  2. SSL 1055——能量项链_DP
  3. 转帖:RIA(Rich Internet Application,富互联网应用系统)
  4. DL之Perceptron:Perceptron感知器(感知机/多层感知机/人工神经元)的简介、原理、案例应用(相关配图)之详细攻略
  5. 用JoyToKey使游戏手柄变键盘或鼠标
  6. IBM将推NVMe存储解决方案
  7. C++ minidump类
  8. JCreator使用技巧
  9. [思维导图学习五] 思维导图在企业培训中的应用[转]
  10. 如何查看JDK版本信息
  11. java 生成war包_java利用Ant脚本生成war包全过程
  12. docker的安装和部署
  13. 第一次学游泳技巧_新手学游泳第一次下水,学会如何将身体进入水中
  14. eclipse背景怎么改颜色
  15. 分布式专题——接口幂等性实战
  16. UG二次开发GRIP创建注释
  17. 一二, Spark概述和快速入门
  18. 做服务号还是订阅号?
  19. Vim中快速定位到某一行的方法
  20. carsim设置坡度的模块

热门文章

  1. oracle DBA 常用表和视图
  2. FMPEG结构体分析:AVStream
  3. javascript jquery對form元素的常見操作
  4. LOST 迷失 Season 1
  5. Android 自定义百分比视图
  6. 机器学习——详解KD-Tree原理
  7. android CMake开发
  8. java中array_Java 中的array数组总结之一
  9. 6 redhat 查看rtc时间_甜甜老师的DB Fun圈第2讲:GaussDB 100 OLTP 单机在RHEL7.6上的安装...
  10. 摄像头视频推流python_摄像头视频推流装置及方法与流程