PHP網頁抓取之抓取百度貼吧郵箱數據代碼分享
更新時間:2016年04月13日 08:56:30 作者:國盛工作室
本文給大家介紹PHP網頁抓取之抓取百度貼吧郵箱數據代碼分享,程序實現(xiàn)了一鍵抓取帖子全部郵箱和分頁抓取郵箱兩個功能,感興趣的朋友一起學習吧
百度貼吧大家都經常逛,去逛百度貼吧的時候,經常會看到樓主分享一些資源,要求留下郵箱,樓主才給發(fā)。
對于一個熱門的帖子,留下的郵箱數量是非常多的,樓主需要一個一個的去復制那些回復的郵箱,然后再粘貼發(fā)送郵件,不是被折磨死就是被累死。無聊至極寫了一個抓取百度貼吧郵箱數據的程序,需要的拿走。
程序實現(xiàn)了一鍵抓取帖子全部郵箱和分頁抓取郵箱兩個功能,界面懶得做了,效果如下:
老規(guī)矩,直接貼源碼
<?php $url2=""; $page=""; if($_GET['url2']==""){ $url2="http://tieba.baidu.com/p/2314539885?pn=1"; }else{ $url2=$_GET['url2']; } if($_GET['page']==""){ $page="1"; }else{ $page=$_GET['page']; } ?> <form action="" method="get"> <input type="hidden" value="getAll" name="type" /> <table> <tr> <td>帖子鏈接:</td><td><input type="text" name="url" value="http://tieba.baidu.com/p/2314539885" style="width:300px;" /></td> </tr> <tr> <td>總頁數:</td><td><input type="text" name="page" style="width:300px;" value="<?php echo $page;?>" /></td> </tr> <tr> <td colspan=2><input type="submit" value="抓取全部郵箱數據" /></td> </tr> </table> </form> <form action="" method="get"> <input type="hidden" value="getNow" name="type" /> <table> <tr> <td>帖子鏈接:</td><td><input type="text" name="url2" value="<?php echo $url2;?>" style="width:300px;" /></td> </tr> <tr> <td colspan=2><input type="submit" value="抓取當前頁面郵箱數據" /></td> </tr> </table> </form> <?php if($_GET['type']!=""){ $counts=0; if($_GET['type']=="getAll"){ $pages=$_GET['page']; $url = $_GET['url']; for($i=0;$i<$pages;$i++){ $ch2 = curl_init(); curl_setopt($ch2, CURLOPT_URL, $url); curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch2, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, TRUE); $texts = curl_exec($ch2); curl_close($ch2); $dat=getEmail($texts); for($j=0;$j<count($dat);$j++){ echo $dat[$j]."<br />"; $counts++; } } }else if($_GET['type']=="getNow"){ $url = $_GET['url2']; $ch2 = curl_init(); curl_setopt($ch2, CURLOPT_URL, $url); curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch2, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, TRUE); $texts = curl_exec($ch2); curl_close($ch2); $dat=getEmail($texts); for($i=0;$i<count($dat);$i++){ echo $dat[$i]."<br />"; $counts++; } } echo '<h2>共采集到數據:'.$counts.'條</h2>'; } function getEmail($str){ $pattern = "/([a-z0-9\-_\.]+@[a-z0-9]+\.[a-z0-9\-_\.]+)/"; preg_match_all($pattern,$str,$emailArr); return $emailArr[0]; } ?>
相關文章
Python利用pandas和matplotlib實現(xiàn)繪制柱狀折線圖
這篇文章主要為大家詳細介紹了如何使用?Python?中的?Pandas?和?Matplotlib?庫創(chuàng)建一個柱狀圖與折線圖結合的數據可視化圖表,感興趣的可以了解一下2023-11-11如何利用Python提取pdf中的表格數據(附實戰(zhàn)案例)
從PDF表格中獲取數據是一項痛苦的工作,下面這篇文章主要給大家介紹了關于如何利用Python提取pdf中的表格數據的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-11-11Pycharm報錯Non-zero?exit?code?(2)的完美解決方案
最近在使用pycharm安裝或升級模塊時出現(xiàn)了錯誤,下面這篇文章主要給大家介紹了關于Pycharm報錯Non-zero?exit?code?(2)的完美解決方案,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-06-06