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

2021-03-22 10:38:32 浏览数 (1)

.NET2.0抓取网页全部链接作者:清清月儿主页:http://blog.csdn.net/21a网络

.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>

本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

0 人点赞