`
tiandirensoon
  • 浏览: 596962 次
文章分类
社区版块
存档分类
最新评论

.NET2.0抓取网页全部链接【月儿原创】

 
阅读更多

.NET2.0抓取网页全部链接

作者:清清月儿

主页:http://blog.csdn.net/21aspnet/ 时间:2007.4.18

该方法经过对各大门户网站测试结果是抓取率100%!

效果图

后台代码:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Net;
using System.IO;
using System.Collections;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{

}

}


protected void Button1_Click(object sender, EventArgs e)
{
TextBox2.Text = "";
string web_url = this.TextBox1.Text;//"http://blog.csdn.net/21aspnet/"
string all_code = "";
HttpWebRequest all_codeRequest = (HttpWebRequest)WebRequest.Create(web_url);
WebResponse all_codeResponse = all_codeRequest.GetResponse();
StreamReader the_Reader = new StreamReader(all_codeResponse.GetResponseStream());
all_code = the_Reader.ReadToEnd();
the_Reader.Close();
ArrayList my_list = new ArrayList();
string p = @"http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?";
Regex re = new Regex(p, RegexOptions.IgnoreCase);
MatchCollection mc = re.Matches(all_code);

for (int i = 0; i <= mc.Count - 1; i++)
{
bool _foo = false;
string name = mc[i].ToString();
foreach (string list in my_list)
{
if (name == list)
{
_foo = true;
break;
}
}//过滤

if (!_foo)
{
TextBox2.Text += name + "/n";
}
}
}
}

前台
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>抓取网页所有链接</title>

</head>
<body >
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" Width="481px"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="提取" />
<br />
<asp:TextBox ID="TextBox2" runat="server" Height="304px" TextMode="MultiLine" Width="524px"></asp:TextBox></div>
</form>
</body>
</html>

分享到:
评论

相关推荐

    .net_抓取网页内容类

    .net_抓取网页内容类 net 抓取网页内容类 载取网页,读取整个网页的类容,转换网页类容为图像

    淘客api.net2.0版

    淘客api.net2.0版,自动更新,自动抓取淘宝客信息

    asp.net 网页抓取技术

    asp.net 网页抓取技术 实现对别的网页title等的抓取

    asp.net 抓取网页 网页爬虫

    asp.net 网页爬虫 网页 爬虫 定时 抓取 网页

    ASP.NET 网页抓取WEB版

    一、系统启动后在“抓取网页路径” 输入要抓取网页的URL 以文本内默认格式输入 选择“网页编码格式” (如果不知道网页格式可以更换不同选择项),然后点击“测试打开网页”。系统会 在页面右侧空白处显示页面源码...

    .NET 网页抓取例子(天气)

    .NET 网页抓取例子(天气) .NET 网页抓取例子(天气)

    Labview调用.NET控件抓取网页数据.vi

    lablview 网页抓取天气预报。利用前面板的.net容器,插入.net控件(WebBrowser),调用Navigate2方法,输入URL,然后从其属性Dcument获得数据。。。。

    asp.net 远程抓取数据生成静态页面Demo

    asp.net数据采集 生成静态页面Demo asp.net数据采集 asp.net生成静态页面 asp.net

    Asp.net数据抓取

    Asp.net数据抓取,根据关键字可以抓取新浪、百度贴吧、搜狗三种网站的信息,若需要抓取其他网站的信息可二次开发,可扩展。

    用asp.net做的网页截图源码

    用asp.net做的网页截图源码 用asp.net做的网页截图源码 用asp.net做的网页截图源码

    asp.net 邮件抓取

    用VS2008开发的邮件抓取程序,里面所用的技术为LINQ

    ASP.NET网页抓取功能

    一、系统启动后在“抓取网页路径” 输入要抓取网页的URL 以文本内默认格式输入 选择“网页编码格式” (如果不知道网页格式可以更换不同选择项),然后点击“测试打开网页”。系统会 在页面右侧空白处显示页面源码...

    c# .net 网络爬虫 网页提取

    手写网络爬虫 能抓取网页 广度优先 可设置深度 vs2008测试 能进行网页提取 内容提取 标题提取 meta提取 server数据入库 欢迎参考 有好的建议请发送邮件blackjunes@sina.com

    信息采集,c#.net能够抓取页面中的数据

    信息采集,c#.net能够抓取页面中的数据

    asp.net抓取网页源码

    抓取网页源码.txt抓取网页源码.txt抓取网页源码.txt抓取网页源码.txt抓取网页源码.txt抓取网页源码.txt抓取网页源码.txt

    .net Winform 抓取本地网卡HTTP数据

    C# Winform编的程序,抓取本地网卡HTTP数据

    VB.NET网页源码爬取.zip

    VB.NET网页源码爬取.zip VB.NET网页信息提取 分4级爬取,每级都显示提取结果 正则提取,代码非常简短 解决爬取不到网页源码的问题 网页信息提取不二选择

    ASP.NET Core 抓取数据

    这是一个用.net core写的一个简单的抓取数据的代码,这个也是我从别人哪里弄来的,可以拿来学习一下

    基于C#的RuiJi.Net分布式抓取框架设计源码

    RuiJi.Net - 一个强大的.NET分布式抓取和提取框架,支持分布式下载、提取以及Cookie自管理。项目包含694个文件,涵盖JavaScript、C#、CSS、HTML和Shell等多种语言,可灵活应用于各种抓取场景,提升开发效率和系统...

    Asp.Net数据抓取源码.7z

    这是一款ASP.NET的网络抓取数据的程序,有着较好的界面功能。 通过搜索网站或贴吧,根据你需求的关键字抓取网站上的信息,搜索可做扩展! 页面搜索功能设置:搜索网站选择框,采集信息的显示条数及关键字输入框; ...

Global site tag (gtag.js) - Google Analytics