C#获取远程网页中的所有链接URL(网络蜘蛛实现原理)

链接|网络|网页

本文介绍网络蜘蛛获取网页中所有链接的方法,实现原理:使用System.Net.WebClient类获取远程网页内容,然后使用URL正则表达式分析Html代码中的链接。代码如下:

using System;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;

namespace HttpGet
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
System.Net.WebClient client = new WebClient();
byte[] page = client.DownloadData("http://news.163.com");
string content = System.Text.Encoding.UTF8.GetString(page);
string regex = "href=[\\\"\\\'](http:\\/\\/|\\.\\/|\\/)?\\w+(\\.\\w+)*(\\/\\w+(\\.\\w+)?)*(\\/|\\?\\w*=\\w*(&\\w*=\\w*)*)?[\\\"\\\']";
Regex re = new Regex(regex);
MatchCollection matches = re.Matches(content);

System.Collections.IEnumerator enu = matches.GetEnumerator();
while (enu.MoveNext() && enu.Current != null)
{
Match match = (Match)(enu.Current);
Console.Write(match.Value + "\r\n");
}
}
}
}

时间: 2025-01-03 08:36:07

C#获取远程网页中的所有链接URL(网络蜘蛛实现原理)的相关文章

JavaScript获取网页中第一个链接ID的方法_javascript技巧

本文实例讲述了JavaScript获取网页中第一个链接ID的方法.分享给大家供大家参考.具体如下: 下面的JS代码通过document.links获得网页中的所有超级链接数组,然后获得第一个链接的ID属性 <!DOCTYPE html> <html> <body> <h1>sharejs.com</h1> <img src ="planets.gif" width="145" height="

C#如何获取当前网页中文本框的值

问题描述 C#如何用webkitbrowser获取当前网页中文本框的值 解决方案 解决方案二:webkitbrowser的官方文档应该有说明吧解决方案三:一定要用这个吗?

获取远程网页的内容之一(downmoon原创)_实用技巧

获取远程网页的内容之一(downmoon原创) 一.本机直接上网时: 获取指定远程网页内容#region 获取指定远程网页内容      复制代码 代码如下:     /**//// <summary>          /// 获取指定远程网页内容          /// </summary>          /// <param name="strUrl">所要查找的远程网页地址</param>          /// <

请问怎么能够获取一个网页中的所有link对象?

问题描述 大牛可不可以告知下方法?具体实现更佳 解决方案 解决方案二:我想给一个域名中的所有网址进行排名,方法就是先下载若干个页面,循环检测每个页面中的所有link网址,同时累加相应pagerank值,最后输出排名,但是我不知道怎么去获取一个网页中的所有link...解决方案三:webBrowser1.Document.Links解决方案四:要求是把若干个网页保存在硬盘中,然后对这几个网页分析,提取link,请问还能用这个方法吗?解决方案五:能不能这样实现,加载一个网页,用它初始化一个Docum

asp获取远程网页的指定内容的实现代码_小偷/采集

代码如下: 复制代码 代码如下: <% '用ASP获取远程目标网页指定内容,代码由广州网站建设http://www.jb51.net提供 On Error Resume Next Server.ScriptTimeOut=9999999 Function getHTTPPage(Path) t = GetBody(Path) getHTTPPage=BytesToBstr(t,"GB2312") End function Function Newstring(wstr,strng

asp获取远程网页的指定内容的实现代码

代码如下: 复制代码 代码如下: <% '用ASP获取远程目标网页指定内容,代码由广州网站建设http://www.jb51.net提供 On Error Resume Next Server.ScriptTimeOut=9999999 Function getHTTPPage(Path) t = GetBody(Path) getHTTPPage=BytesToBstr(t,"GB2312") End function Function Newstring(wstr,strng

dede:sql标签中调用文章链接url地址的方法

文章链接url地址的方法-"> {dede:sql sql="SELECT a.*,m.* FROM `dede_archives` a LEFT JOIN `dede_moives` m ON a.id=m.aid WHERE a.channel=18 LIMIT 0,10"} <a href="[field:id runphp='yes']$arcRow=GetOneArchive(@me);@me=$arcRow['arcurl'];[/field

JavaScript获取网页中第一个链接ID的方法

 下面的JS代码通过document.links获得网页中的所有超级链接数组,然后获得第一个链接的ID属性 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <!DOCTYPE html> <html> <body> <h1>sharejs.com</h1> <img src ="planets.gif" width="145" heig

在网页中实现文件链接调用

链接|网页 在目前网页中大量地使用超链进行链接,其使用方式为 〈a href="指定文件"〉显示文字〈/a〉 .除此之外还根据网页的不同又分以下的几种文件链接调用方式: 一. HTM结尾的网页 使用Javascript中的window.location重新链接一个网页.在以下范例一中当浏览器调用此页面时,自动链接到/home/default.htm的网页. 〈HTML〉 〈HEAD〉 〈TITLE〉范例一ITLE〉 〈/HEAD〉 〈BODY〉 〈SCRIPT LANGUAGE=jav