PHP实现抓取迅雷VIP账号的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP实现抓取迅雷VIP账号的方法。分享给大家供大家参考。具体如下:

看了@Jinn_Wei Python版本的抓取账号,于是顺手写了个PHP版本
PS1:代码没经过优化,只实现了基本的功能
PS2:代码中使用了Snoopy
PS3:测试地址:http://xunlei.kphcdr.com

<?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程序设计有所帮助。

相关文章

如何在php中正确的使用json

从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。 1、json_encode()该函数主要用来将数组和对象,转换为...

PHP setcookie设置Cookie用法(及设置无效的问题)

结果碰到一个问题,setcookie设置了Cookie并没有生效,在浏览器端也没有看到。查了一下,原来是setcookie是通过HTTP请求响应的Header来完成的,需要在请求响应内容...

php错误、异常处理机制(补充)

一、错误处理 异常处理: 意外,是在程序运行过程中发生的意料这外的事,使用异常改变脚本正常流程 PHP5中的一个新的重要特性 复制代码 代码如下: if(){ }else{ } try...

php判断表是否存在的方法

本文实例讲述了php判断表是否存在的方法。分享给大家供大家参考。具体如下: <?php //方法一 mysql_connect('localhost','root'...

PHP5.5安装PHPRedis扩展及连接测试方法

本文实例讲述了PHP5.5安装PHPRedis扩展及连接测试方法。分享给大家供大家参考,具体如下: phpredis是个人觉得最好的一个php-redis客户端,因为其提供的functi...