本文实例讲述了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程序设计有所帮助。