本文介绍网络蜘蛛获取网页中所有链接的方法,实现原理:使用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");
}
}
}
}
新闻热点
疑难解答