网站CSS背景图片抓取工具

news/2024/5/13 6:22:41/文章来源:https://blog.csdn.net/weixin_30570101/article/details/99930479

工具介绍:
  1)分析网页,获取页面图片。
  2)分析网页引用CSS文件,获取背景图片。
  3)批量下载。
要点:
  1)正则

    LINK_PATTERN:获取页面所有连接

    BACKGROUND_IMAGE_PATTERN:获取CSS中背景图片地址
    CHECK_URL_PATTERN :检测URL是否有效

代码
        private const string LINK_PATTERN = @"(href|src)=['""]?(?<link>[^'""\s]*)['""]?";
        
private const string BACKGROUND_IMAGE_PATTERN = @"(url)\(['""]?(?<url>[^'""\s]*)['""]?\)";
        
private const string CHECK_URL_PATTERN = @"^http(s)?://+([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";

 

  2)线程

 

代码
        /// <summary>
        
/// 线程
        
/// </summary>
        private void DoWork()
        {
            
//网页路径
            string url = txtUrl.Text.Trim();
            
//保存路径
            string saveDir = txtSaveDir.Text.Trim();

            lvLog.Items.Clear();
            tsslStatus.Text 
= DESC_ANALYSISING;
            tsslTime.Text 
= string.Format(DESC_SPAND_TIME,0);
            tsslCount.Text 
= string.Format(DESC_IMAGES_COUNT,0);
            tsslTotalTime.Text 
= string.Format(DESC_DOWNLOAD_TOTAL_TIME,0);
            btnDownload.Enabled 
= false;

            Application.DoEvents();
            AnalyzeAndDownload(url, saveDir);
        }

 

      3)网页分析:

 

代码
        /// <summary>
        
/// 根据网站URL获取CSS
        
/// 分析CSS获取背景图片地址
        
/// </summary>
        
/// <param name="url"></param>
        
/// <returns></returns>
        protected List<Uri> FetchCSSWithSite(string url)
        {
            StringBuilder sourceCSS 
= new StringBuilder();
            List
<Uri> list = new List<Uri>();
            
using (WebClient client = new WebClient())
            {
                _basicUri 
= new Uri(url);
                
string sourceHtml = client.DownloadString(_basicUri);
                sourceCSS.Append(sourceHtml);
                Regex regex 
= new Regex(LINK_PATTERN, RegexOptions.IgnoreCase);
                MatchCollection collection 
= regex.Matches(sourceHtml);
                
if (collection == nullreturn null;
                
string extension = string.Empty;
                
string link = string.Empty;
                
foreach (Match match in collection)
                {
                    link
=match.Groups["link"].Value;
                    lvLog.Items.Add(
new ListViewItem(new string[] { new Uri(_basicUri, link).AbsoluteUri, DateTime.Now.ToString(TIME_FORMAT), STATUS_ANALYSIS, string.Empty, link.Contains("."? link.Substring(link.LastIndexOf('.')) : string.Empty }));

                    
if (!link.Contains(".")) continue;
                    extension 
= link.Substring(link.LastIndexOf('.'));
                    
switch (extension.ToUpper())
                    {
                        
case ".CSS":
                            sourceCSS.Append(client.DownloadString(
new Uri(_basicUri, link)));
                            
break;
                        
case ".GIF":
                        
case ".PNG":
                        
case ".JPG":
                        
case ".JPEG":
                            list.Add(
new Uri(_basicUri, link));
                            
break;
                        
default:
                            
break;
                    }
                }
            }
            list.AddRange(FetchBGImageUrlsWithCSS(sourceCSS.ToString()));

            
return list;
        }

 

    4)效果图

下载地址:/Files/olartan/BID.zip

转载于:https://www.cnblogs.com/olartan/archive/2010/03/25/1695271.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_743006.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站服务器基本安全设置

一、服务器系统安装建议1、不安装多余组件&#xff0c;停止不需要的服务&#xff1b;2、www服务单独分区&#xff1b;3、补丁打全&#xff1b;二、登录账号与口令安全1、设置密码使用、数字加大小写字母不少余8位&#xff1b;# vi /etc/login.defs找到以下:PASS_MAX_DAYS 99…

查看网站服务器版本,查看服务器版本

您正在运行的 Tableau Server 的版本很重要。它确定您可以访问的功能和能力。在您进行升级时&#xff0c;版本也很重要&#xff0c;因为在某些情况下&#xff0c;您升级的方式取决于您从中升级的版本&#xff0c;以及要升级到的版本。了解如何查找版本之后&#xff0c;就很容易…

Java开发者必去的20个英文技术网站

为什么80%的码农都做不了架构师&#xff1f;>>> http://www.javaalmanac.com - Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处. http://www.onjava.com - OReilly的Java网站. 每周都有新文章. http://java.sun.c…

从零开始建站-4

为什么80%的码农都做不了架构师&#xff1f;>>> 这里记录使用wordpress建站中遇到的问题 1、增加外网访问功能 登录数据库&#xff0c;在wp_options表中&#xff0c;修改字段 siteurl 和home均为 /wordpress&#xff0c;这里的wordpress的绝对路径为/var/www/htm…

Dreamwear如何创建javascript_15个免费学习JavaScript的最佳网站

作者&#xff1a;行者转发链接&#xff1a;https://codegeekz.com/15-best-websites-to-learn-javascript/前言JavaScript是Web最流行的语言。对于任何Web开发人员来说&#xff0c;JavaScript现在是必须学习的语言。像追踪树这样的创新已经大大提高了JavaScript的性能&#xff…

5分钟必懂-搭建网站框架踩到的坑之获取ServletPath

路径问题RealPathServletPathContextPathRequestURI获取真实ServletPath的方法RealPath String realPathrequest.getServletContext().getRealPath(); String realPathrequest.getServletContext().getRealPath("XXX");1)取得服务应用的绝对路径&#xff08;本地路径…

【nosql实现企业网站系列之一】mongodb的安装

本系列文章将使用Mongodb作为nosql的数据保存载体&#xff0c;显示载体使用aspnetmvc3&#xff0c;依赖注入容器使用unity application 2。 需要使用Mongodb首先需要安装。 一、下载Mongodb 地址&#xff1a;http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus…

32个使用 Google 网页字体的优秀网站案例

如今&#xff0c;网页设计师非常注重网页字体的运用&#xff0c;为了能让网站有更好的可读性和更强的吸引力&#xff0c;他们需要更漂亮的字体。Google网页字体&#xff08;Google Web Fonts&#xff09;为设计师们提供了几百种免费开源的字体&#xff0c;只需要在网页中加入一…

用VS2008开发Ajax网站需要注意的一些事项

这两天因为要开始网站&#xff0c;我们的老大说了&#xff0c;一定要用到mvc架构三层模式的设计&#xff0c;另外关于ajax的的使用部分不得少于三分之一&#xff0c;这样的要求还真的是很奇怪&#xff0c;感觉就不太像是可以用于商业的东西&#xff0c;大概只是想让我们练习一下…

Anonymous几天之内攻陷500多个中国网站

根据CNET的报道&#xff0c;Anonymous***激进组织已经在几天之内黑掉了超过500个中国政府/商业网站&#xff0c;并号召中国***加入他们。 The hacked Web site for the Central Business District in Chengdu, China. (Credit: Screenshot by Steven Musil/CNET)

灯鹭的简单开放,促进网站一举多赢

社会化网络作为传统平台的升级与革新&#xff0c;简单开放是有别于传统网站的最显著特点&#xff0c;如今社交媒体发展如火如荼&#xff0c;大量真实且活跃的用户让其成为网站流量的主要来源&#xff0c;很多网站运营人员一直苦于无法参与进去。据了解&#xff0c;目前灯鹭是国…

关于在mvc4中多语言建站的实例

环境&#xff1a;vs2012 asp.net mvc4. 实现方式&#xff1a;resource 资源文件&#xff0c;根据路由规则中Lang参数来判断载入哪种语言方式 在网上找到了相关资料&#xff0c;顺便自己做了个练习&#xff0c;新建工程之类的步骤就免了&#xff0c;该注意的地方说明下&#xff…

网站获取ip代码怎么写_网站关键词怎么写更利于SEO优化

网站关键词是什么呢&#xff1f;就是一个网站给首页设定的以便用户通过搜索引擎能搜到本网站的词汇。简单来说就是一个网站设定出来&#xff0c;以便用户通过搜索引擎能搜到本网站的词汇&#xff0c;网站关键字代表了我们企业网站的市场定位。好的关键字设置&#xff0c;是我们…

研究日本网站设计趋势

日本有一些令人印象深刻的网页设计师。在艺术技能上&#xff0c;给互联网上的读者展示了强大的数字力量。幸运的是我们因为了解日本网站而不是一味的佩服他们的 网站图片和动画效果。我们会寻找一些日本设计师的网站&#xff0c;他们都是一些打破网页设计常规的网站&#xff0c…

60个优秀的免费网站模板下载(下篇)

您可能还喜欢 分享45款高质量的免费(X)HTML/CSS模板分享30个漂亮的免费 PSD 网站模板最新30佳精美 PSD 网站模板免费下载30佳精美的免费Flash网站模板下载50款高质量的网站PSD模板免费下载这篇文章收集了60款各式各样的高质量网站模板&#xff0c;您可以免费下载使用。当你需要…

假日房屋租赁网站HomeAway.com档案

透明的信息&#xff0c;完善的行业规范&#xff0c;让电子商务在国外发展的更快速&#xff0c;更有规模。今天一休就和大家一起来围观下刚刚IPO的HomeAway。 HomeAway是一家提供假日房屋租赁在线服务网站&#xff0c; 公司成立于2004年&#xff0c;并于2005年开始运营。短短几年…

Google Analytics 进行网站流量分析

网站上线了&#xff0c;如果您想要知道您的访问者是如何找到您以及他们是如何与您的网站互动的&#xff0c;Google Analytics&#xff08;分析&#xff09;可以告诉您所有相关信息。概念 Web analytics Google AnalyticsWeb analytics provides the tools for gathering this i…

优化杭州某著名电子商务网站高并发千万级大型数据库经验之- 内存性能

好久没写博客了&#xff0c;一方面是日常工作繁忙&#xff0c;另外一方面是想更多的时间陪陪家里人&#xff0c;享受春天的美好时光&#xff0c;同时还在写一本《程序员&#xff0c;你伤不起》的 一本书要由人民邮电出版社出版&#xff1b;我的性格可能也跟大多数程序员类似吧&…

怎样安装Joomla 1.7网站系统

http://jingyan.baidu.com/article/8065f87fc3de112331249830.html如果你想使用Joomla&#xff08;地球上最好的内容管理系统之一&#xff09;搭建一个网站&#xff0c;大体的流程是&#xff0c;你需要先在本地电脑&#xff0c;也就是你的电脑或者笔记本上为Joomla搭建一个本地…

html站点的功能及特点,网站索引软件HTML Indexer的功能特点和索引编制

网站索引软件HTML Indexer的功能特点和索引编制郭丽芳(复旦大学图书馆上海200433)摘要本文以HTML Indexer 4.0试用版为例&#xff0c;系统地介绍了索引软件HTML Indexer的主要功能特点和索引编制方法。关键词索引软件HTML Indexer功能索引编制索引编制自动化和索引软件的研究在…