這篇文章主要介紹了PHP實現抓取迅雷VIP賬號的方法,實例分析了php基于采集類Snoopy實現頁面抓取及正則匹配的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了PHP實現抓取迅雷VIP賬號的方法。分享給大家供大家參考。具體如下:
看了@Jinn_Wei Python版本的抓取賬號,于是順手寫了個PHP版本
PS1:代碼沒經過優化,只實現了基本的功能
PS2:代碼中使用了Snoopy
PS3:測試地址:http://xunlei.kphcdr.com
- <?php
- /**
- * 抓取愛密碼迅雷VIP賬號
- * @author [email protected]
- */
- 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程序設計有所幫助。
新聞熱點
疑難解答