NET远程抓取链接地址(地址小偷程序)
发布:apollo | 发布时间: 2009年5月23日今天下午接到了一个大学时代的老师的电话,呵呵,平时都是我们联系他比较多,在学校的时候经常一起玩一起工作,算是亦师亦友的朋友吧。说要我帮忙给他下一些视频,简单的看了一下他提供的那个网站,视频的确是可以下载的,貌似也是一些很好玩的视频,就想是不是可以先用程序把页面中的视频的格式先提取出来,然后再使用迅雷或者其他的下载软件批量进行下载,远程抓取网页的代码如下:
Uri uri = new Uri("http://www.shanghartgallery.com/galleryarchive/videoWorks.htm");
WebRequest wreq = WebRequest.Create(uri);
HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse();
Stream s = wresp.GetResponseStream();
StreamReader objReader = new StreamReader(s, System.Text.Encoding.Default);
string HTML = objReader.ReadToEnd();
GetRegValue(HTML);//该函数为正则表达式或者地址的函数,详细的请见下面的代码
Response.End();
以下为正则表达式或者有效的地址的函数:
private static void GetRegValue(string RemoteStr)
{
string pattern = @"id=(\d+)";
Regex reg = new Regex(pattern, RegexOptions.Compiled);
Match m = reg.Match(RemoteStr);
while (m.Success)
{
string aaaa = m.Value;
HttpContext.Current.Response.Write("<a href=http://www2.shanghartgallery.com/videos/" + aaaa.Replace("id=", "") + ".swf>" + aaaa.Replace("id=", "") + "<br/>");
RemoteStr = RemoteStr.Replace(aaaa, "");
m = reg.Match(RemoteStr);
}
}
}
所用到的类库:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;
using System.Net;
using System.IO;
在运行程序之后就会自动将有效的URL地址生成了,然后再使用迅雷批量下载,哈,完满的实现要求,貌似下载的速度有点慢,诶,谁叫这个网站是在国外的呢。
- 相关文章:
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。





