本文实例讲述了PHP实现抓取迅雷VIP账号的方法。分享给大家供大家参考。具体如下:
看了@Jinn_Wei Python版本的抓取账号,于是顺手写了个PHP版本
PS1:代码没经过优化,只实现了基本的功能
PS2:代码中使用了Snoopy
PS3:测试地址:http://xunlei.kphcdr.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
<?php /** * 抓取爱密码迅雷VIP账号 * @author kphcdr@163.com */ header( "Content-type: text/html; charset=UTF-8" ); include 'Snoopy.php' ; $url = 'http://www.521xunlei.com/forum-xunleihuiyuan-1.html' ; //找出匹配的网址 $snoopy = new Snoopy(); $result = $snoopy ->fetchlinks( $url )->getResults(); foreach ( $result as $key => $val ) { if (FALSE === strpos ( $val , 'thread-' )) { unset( $result [ $key ]); } else { if (! strpos ( $val , '-1-1.html' )) { unset( $result [ $key ]); } } } $real = new Snoopy(); $result = array_values ( array_unique ( $result )); $text = $real ->fetchtext( $result [1])->getResults(); $text = iconv( 'gbk' , 'UTF-8//IGNORE' , $text ); //匹配出需要的内容 $pattern = '/^迅雷会员账号|迅雷共享账号+[a-zA-Z0-9_]{4,15}+:+[0-9]+爱密码分享密码+[a-zA-Z0-9_]{4,20}\s/' ; preg_match_all( $pattern , $text , $return ); foreach ( $return [0] as $a ) { echo $a ; echo '<br />' ; } |
Snoopy-1.2.3.tar.gz点击此处本站下载。
希望本文所述对大家的php程序设计有所帮助。