日期:2014-05-18 浏览次数:20970 次
最近需要一些对网址的分类,来检测本地用户上网的习惯,这样我们就需要一些域名的分类,首先我们就想到了www.hao123.com
通过这个分析,大家可以了解到C#获取网页源代码、调用正则表达式的一些简单方法
以及一些使用中的技巧。
1、获取网页源代码
为了方便,我们在这里直接写成函数的形式,如下:
使用上面的代码可以解决大多数问题,在有的时候会发现获取的源代码和浏览器看到的不一样,这时候就需要用UA来处理。
2、建立一个网址类
这个很简单
使用第一步中的函数分析www.hao123.com,得到源代码source。
通过对网页的分析,我们可以看出hao123主要的网址分布在右侧的列表部分,如下图
通过这个列表就基本可以分析出我们想要的分类网址了
因为点击前面的绿色字可以进入详细列表,我们对这个绿色字的源代码进行分析,发现是:
<span
class="box-sort_title"><a
href="http://v.hao123.com/movie/">影 视</a></span>
而且是有且仅有这样子的才是分类列表的入口,所以我们就可以用这段字符串作为我们的模板进行分析:
4、正则表达式分析:
我们需要的是a href="后面的链接和链接后面的标题,在此,我们把他们改成(.*?),即
<span
class="box-sort_title"><a
href="(.*?)">(.*?)</a></span>
.*表示任意字符串 ?表示非贪心处理 两边的括号表示我们需要在下面用到它。
通过这样的处理,在正则表达式分析后我们就可以得到网址和对应的分类: