网站CSS背景图片抓取工具
2010-03-25 14:20
399 查看
工具介绍:
1)分析网页,获取页面图片。
2)分析网页引用CSS文件,获取背景图片。
3)批量下载。
要点:
1)正则
LINK_PATTERN:获取页面所有连接
BACKGROUND_IMAGE_PATTERN:获取CSS中背景图片地址
CHECK_URL_PATTERN :检测URL是否有效
代码
/// <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 == null) return 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
1)分析网页,获取页面图片。
2)分析网页引用CSS文件,获取背景图片。
3)批量下载。
要点:
1)正则
LINK_PATTERN:获取页面所有连接
BACKGROUND_IMAGE_PATTERN:获取CSS中背景图片地址
CHECK_URL_PATTERN :检测URL是否有效
代码
/// <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 == null) return 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
相关文章推荐
- 利用wget 抓取 网站网页 包括css背景图片
- 利用wget 抓取 网站网页 包括css背景图片
- css 网站大背景(按比例缩放背景图片)
- 用CSS制作大背景网站,以及80个大背景图片网站。
- 网站页面置灰:使用css+js对页面图片、flash、背景等置灰处理
- IIS 发布网站无法加载CSS、背景及图片文件
- 20个真棒的jquery和css打造的图片动画效果(网站背景随时变换,广告牌效果..)
- PHP抓取网站页面、CSS文件、图片
- CSS中用背景图片做为超链接的方法
- CSS实现自适应的图片背景边框代码
- css控制背景图片位置-background-position
- 在线帮助你修改图片背景的工具 - Clipping Magic
- 解决IE6下PNG图片背景不透明的三种方法(CSS/JS/JQuery)
- HTML&CSS——css sprites技术将多个背景集成到一个png图片上css定位
- Python抓取妹子图网站全部图片
- 【DIV+CSS】DIV背景图片水平垂直居中
- 校内网css代码添加背景图片常用代码
- css 下拉列表,图片背景,竖版,取消注释为横版
- 将多个图片整合到一张图片中再用CSS_进行网页背景定位