QQ校友里面很多数码是比照高校开展分类的,QQ校友的多少查看或者查询

QQ校友里面很多数目是遵照学校举办归类的,由此,我们只要了然学校的称号,按照局部口径就可以查找您感兴趣的同校了。

QQ校友里面很多数码是比照高校开展分类的,由此,我们假使知道高校的称呼,按照局部原则就足以找寻您感兴趣的同校了。

QQ校友的数码查看或者查询,是亟需登录才行的,QQ校友的登录,可以让用户通过输入验证码形式开展登录。博客已经有这个大牛找出过多缓解措施,在此不说这块,大家这边介绍下,如何剖析页面,合理施用正则表明式,获取所需要的数码。

QQ校友的数据查看或者查询,是急需报到才行的,QQ校友的记名,可以让用户通过输入验证码格局展开登录。博客已经有无数大牛找出广大化解办法,在此不说这块,我们这里介绍下,怎么着剖析页面,合理运用正则表明式,获取所需要的数据。

由此抓包工具IE Http Analyzer
可以跟踪到QQ校友的素材查询URL地址类似下面的格式:

透过抓包工具IE Http Analyzer
可以跟踪到QQ校友的资料查询URL地址类似下边的格式:

http://xiaoyou.qq.com/index.php?mod=search&act=result&name=%E7%8E%8B&schooltype=3&slevel=GF&sname=%E8%A5%BF%E5%8D%97%E4%BA%A4%E5%A4%A7&sid=12229&deptname=&deptid=0&syear=1997&sex=0&age=-1&year=0&month=0&day=0&astro=0&homeprov=0&homecity=0&nowprov=0&nowcity=0

http://xiaoyou.qq.com/index.php?mod=search&act=result&name=%E7%8E%8B&schooltype=3&slevel=GF&sname=%E8%A5%BF%E5%8D%97%E4%BA%A4%E5%A4%A7&sid=12229&deptname=&deptid=0&syear=1997&sex=0&age=-1&year=0&month=0&day=0&astro=0&homeprov=0&homecity=0&nowprov=0&nowcity=0

 

 

在Google浏览器上,你看来的粤语地址音讯是:

在Google浏览器上,你看到的华语地址音讯是:

http://xiaoyou.qq.com/index.php?mod=search&act=result&name=%E7%8E%8B&schooltype=3&slevel=GF&sname=%E8%A5%BF%E5%8D%97%E4%BA%A4%E5%A4%A7&sid=12229&deptname=&deptid=0&syear=1997&sex=0&age=-1&year=0&month=0&day=0&astro=0&homeprov=0&homecity=0&nowprov=0&nowcity=0

http://xiaoyou.qq.com/index.php?mod=search&act=result&name=%E7%8E%8B&schooltype=3&slevel=GF&sname=%E8%A5%BF%E5%8D%97%E4%BA%A4%E5%A4%A7&sid=12229&deptname=&deptid=0&syear=1997&sex=0&age=-1&year=0&month=0&day=0&astro=0&homeprov=0&homecity=0&nowprov=0&nowcity=0

假若你登陆后,执行这么些页面,你就足以看出的一部分页面源码是之类所示(我截取了关切的这有些HTML代码):

假使你登陆后,执行那些页面,你就足以见到的局部页面源码是之类所示(我截取了关注的这有些HTML代码):

 <ul class=”results_list”>                 

 <ul class=”results_list”>                 

 <li class=”request_one”> 

 <li class=”request_one”> 

                    <a href=”/index.php?mod=profile&u=c265e4bd629300c500a439a57fc4b1c6d2458796fbfe9608″ class=”pic_user_m xy_card”><span class=”skin_portrait_round”></span><img src=”http://xy.store.qq.com/c265e4bd629300c500a439a57fc4b1c6d2458796fbfe96080” alt=”王明灵” /></a> 
                    <div class=”list_info”> 
                        <p class=”user_info”><a href=”/index.php?mod=profile&u=c265e4bd629300c500a439a57fc4b1c6d2458796fbfe9608″ class=”user_name xy_card”>王***</a> </p>                        西南哈工大
                    </div> 
                    <ul> 
                        <li><img src=”http://imgcache.qq.com/campus\_v2/ac/b.gif” alt=”” class=”icon_script” /><a href=”javascript:is_sendscrip(‘c265e4bd629300c500a439a57fc4b1c6d2458796fbfe9608’);”>发小纸条</a></li> 
                        <li><img src=”http://imgcache.qq.com/campus\_v2/ac/b.gif” alt=”” class=”icon_add” /><a href=”javascript:void(0)” onclick=”add_friends_frame(‘c265e4bd629300c500a439a57fc4b1c6d2458796fbfe9608’)”>加为好友</a></li> 
                    </ul> 
                </li>                  <li class=”request_one”> 
                    <a href=”/index.php?mod=profile&u=c265e4bd629300c5202a08ff05052aadd58b7e634ad8d204″ class=”pic_user_m xy_card”><span class=”skin_portrait_round”></span><img src=”http://xy6.store.qq.com/c265e4bd629300c5202a08ff05052aadd58b7e634ad8d2040” alt=”王*霞” /></a> 
                    <div class=”list_info”> 
                        <p class=”user_info”><a href=”/index.php?mod=profile&u=c265e4bd629300c5202a08ff05052aadd58b7e634ad8d204″ class=”user_name xy_card”>王*霞</a> </p>                        上海农林高校
                    </div> 

                    <a href=”/index.php?mod=profile&u=c265e4bd629300c500a439a57fc4b1c6d2458796fbfe9608″ class=”pic_user_m xy_card”><span class=”skin_portrait_round”></span><img src=”http://xy.store.qq.com/c265e4bd629300c500a439a57fc4b1c6d2458796fbfe96080” alt=”王明灵” /></a> 
                    <div class=”list_info”> 
                        <p class=”user_info”><a href=”/index.php?mod=profile&u=c265e4bd629300c500a439a57fc4b1c6d2458796fbfe9608″ class=”user_name xy_card”>王***</a> </p>                        西南复旦
                    </div> 
                    <ul> 
                        <li><img src=”http://imgcache.qq.com/campus\_v2/ac/b.gif” alt=”” class=”icon_script” /><a href=”javascript:is_sendscrip(‘c265e4bd629300c500a439a57fc4b1c6d2458796fbfe9608’);”>发小纸条</a></li> 
                        <li><img src=”http://imgcache.qq.com/campus\_v2/ac/b.gif” alt=”” class=”icon_add” /><a href=”javascript:void(0)” onclick=”add_friends_frame(‘c265e4bd629300c500a439a57fc4b1c6d2458796fbfe9608’)”>加为好友</a></li> 
                    </ul> 
                </li>                  <li class=”request_one”> 
                    <a href=”/index.php?mod=profile&u=c265e4bd629300c5202a08ff05052aadd58b7e634ad8d204″ class=”pic_user_m xy_card”><span class=”skin_portrait_round”></span><img src=”http://xy6.store.qq.com/c265e4bd629300c5202a08ff05052aadd58b7e634ad8d2040” alt=”王*霞” /></a> 
                    <div class=”list_info”> 
                        <p class=”user_info”><a href=”/index.php?mod=profile&u=c265e4bd629300c5202a08ff05052aadd58b7e634ad8d204″ class=”user_name xy_card”>王*霞</a> </p>                        法国首都医科大学
                    </div> 

 

 

实则我们需要把其中:用户号码、姓名、高校,然后大家依照用户号码就可以更进一步赢得该用户的信息了。 

事实上大家需要把其中:用户号码、姓名、学校,然后我们依据用户号码就可以更进一步获取该用户的信息了。 

用户详细的介绍内容页面地址是:http://xiaoyou.qq.com/index.php?mod=profile&u=c265e4bd629300c500a439a57fc4b1c6d2458796fbfe9608

用户详细的牵线内容页面地址是:http://xiaoyou.qq.com/index.php?mod=profile&u=c265e4bd629300c500a439a57fc4b1c6d2458796fbfe9608

然后大家看到,那多少个页面的源码是:

然后我们看看,这一个页面的源码是:

 <div class=”fun_info_class”> 

 <div class=”fun_info_class”> 

            <p><span class=”c_tx2″>性    别: </span><span>女</span></p>             
            <p><span class=”c_tx2″>生    日: </span><span>1978年12月27日</span></p> 
            <p><span class=”c_tx2″>星    座: </span><span>魔羯座</span></p>          
            <p><span class=”c_tx2″>上次登录:</span> <span>1天前(共10次)</span></p> 
            <div class=”list_sch_wrap”><p><span class=”c_tx2″>就读高校:</span></p><ul class=”list_sch”><li><a href=”/index.php?mod=school&act=schoolportal&school_id=12229″>西南南开</a></li></ul></div> 
        </div> 

            <p><span class=”c_tx2″>性    别: </span><span>女</span></p>             
            <p><span class=”c_tx2″>生    日: </span><span>1978年12月27日</span></p> 
            <p><span class=”c_tx2″>星    座: </span><span>魔羯座</span></p>          
            <p><span class=”c_tx2″>上次登录:</span> <span>1天前(共10次)</span></p> 
            <div class=”list_sch_wrap”><p><span class=”c_tx2″>就读高校:</span></p><ul class=”list_sch”><li><a href=”/index.php?mod=school&act=schoolportal&school_id=12229″>西南浙大</a></li></ul></div> 
        </div> 

 那一个也页面里面有性别、生日、星座、上次登录时间等有关消息,这样基本上就重组了完整的用户音信了。

 这么些也页面里面有性别、生日、星座、上次登录时间等息息相关信息,这样基本上就结成了完整的用户音信了。

 好了,大的方面大家知道了,看看现实哪些把页面里面的音讯提取出来。

 好了,大的地方我们知晓了,看看实际哪些把页面里面的消息提取出来。

 第一步,把页面内容分别,获取感兴趣的片段,正则表达式是:<li\s+?class=”request_one”\>\s*(.*?)\s*<ul\>

 第一步,把页面内容分别,获取感兴趣的部分,正则表明式是:<li\s+?class=”request_one”\>\s*(.*?)\s*<ul\>

其中表明式\s的情趣如下:

其间表明式\s的意趣如下:

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。

\s+?
标识有一个到三个空白字符

\s+? 标识有一个到两个空白字符

(.*?)
标识非贪婪形式匹配任何字符

(.*?) 标识非贪婪情势匹配任何字符

 大家见到正则表明式工具中收获的结果是: 图片 1

 我们看出正则表明式工具中得到的结果是: 图片 2

 

 

 其中每项都列出来了,我们把它放到一个List集合中,然后每个门类再开展四回正则表明式的异常,获取到具体的内容。 

 其中每项都列出来了,我们把它放到一个List集合中,然后每个品种再举行两遍正则表明式的十分,获取到实际的内容。 

                 #region 得到各种列表字符串

                 #region 拿到各种列表字符串

                List<string> itemHtmlList = new List<string>();
                string itemRegex = “刚才的正则表达式”;//<li\s+?class=”request_one”\>\s*(.*?)\s*<ul\>

                List<string> itemHtmlList = new List<string>();
                string itemRegex = “刚才的正则表明式”;//<li\s+?\>\s*(.*?)\s*<ul\>

                Regex re = new Regex(itemRegex, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);

                Regex re = new Regex(itemRegex, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);

                Match mc = re.Match(content);
                if (mc.Success)
                {
                    MatchCollection mcs = re.Matches(content);
                    foreach (Match me in mcs)
                    {
                        string strValue = me.Groups[1].Value;
                        itemHtmlList.Add(strValue);
                    }
                }
                #endregion

                Match mc = re.Match(content);
                if (mc.Success)
                {
                    MatchCollection mcs = re.Matches(content);
                    foreach (Match me in mcs)
                    {
                        string strValue = me.Groups[1].Value;
                        itemHtmlList.Add(strValue);
                    }
                }
                #endregion

 

 

 上图中黄色背景下面的有些,就是大家每项要分析的情节。

 上图中粉褐色背景下边的片段,就是我们每项要分析的情节。

 然后大家再使用正则表明式:<a\s+?href=”(.*?)”.*?src=”(.*?)”.*?alt=”(.*?)”.*?&u=(.*?)”.*?</p\>\s*(.*?)\s*</div\>

 然后大家再接纳正则表明式:<a\s+?
.*?src=”(.*?)”.*?alt=”(.*?)”.*?&u=(.*?)”.*?</p\>\s*(.*?)\s*</div\>

就足以博得下面的效应

就可以赢得下边的意义

里头正则表达式部分字符的意味如下:

内部正则表达式部分字符的情致如下:

. 匹配除 "\n" 之外的任何单个字符。要匹配包括 ‘\n’ 在内的任何字符,请使用象 ‘[.\n]’ 的模式。
. 匹配除 "\n" 之外的任何单个字符。要匹配包括 ‘\n’ 在内的任何字符,请使用象 ‘[.\n]’ 的模式。
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。

 图片 3

 图片 4

 

 

下边大家要遵照用户消息页面,去获取其他的相干信息了,大家用正则表明式:<div\s+?class=”fun_info_class”\>.*?</span\>\s*?<span\>(.*?)</span\>.*?</span\>\s*?<span\>(.*?)</span\>.*?</span\>\s*?<span\>(.*?)</span\>.*?</span\>\s*?<span\>(.*?)</span\>.*?</div\>

下边大家要基于用户信息页面,去取得其它的相干信息了,大家用正则表明式:<div\s+?\>.*?</span\>\s*?<span\>(.*?)</span\>.*?</span\>\s*?<span\>(.*?)</span\>.*?</span\>\s*?<span\>(.*?)</span\>.*?</span\>\s*?<span\>(.*?)</span\>.*?</div\>

来过滤代码,就可以了。 

来过滤代码,就能够了。 

 图片 5

 图片 6

 整个经过就是这么翻来覆去获取,解析,就可以实现对QQ校友数据的收集了。

 整个经过就是如此翻来覆去获取,解析,就足以兑现对QQ校友数据的采集了。

但是有几许欠好,就是QQ校友和用户ID不是QQ号码,并且你找不出和QQ号码有其余关系的地点,这也许就是隐私爱慕的此举吧。

不过有一些不好,就是QQ校友和用户ID不是QQ号码,并且你找不出和QQ号码有其他涉及的地点,这或许就是隐私珍重的言谈举止吧。

假如阁下有好的点子,能够得到到事关关系,我们可以探索一下。 

一旦阁下有好的措施,可以获取到事关关系,我们可以商量一下。