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

yipeiwu_com5年前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 数组遍历的差异(array_diff 的实现)

function array_diff($array_1, $array_2) {     $diff =...

php中explode函数用法分析

本文实例分析了php中explode函数用法。分享给大家供大家参考。具体如下: explode(string separator,string string [,int limit])...

深入file_get_contents函数抓取内容失败的原因分析

用file_get_contents来抓取页面内容不成功,可能是因为有些主机服务商把php的allow_url_fopen选项是关闭了,就是没法直接使用file_get_contents...

PHP高级对象构建 多个构造函数的使用

下面就用一段代码示例来演示一下PHP高级对象构建中的使用多个构造函数进行对象构建的原理。 复制代码 代码如下: <?php class classUtil {//这是一个参数处理的...

PHP实现找出链表中环的入口节点

本文实例讲述了PHP实现找出链表中环的入口节点。分享给大家供大家参考,具体如下: 问题 一个链表中包含环,请找出该链表的环的入口结点。 解决思路 第一步,找环中相汇点。分别用p1,p2指...