PHP网页抓取之抓取百度贴吧邮箱数据代码分享
百度贴吧大家都经常逛,去逛百度贴吧的时候,经常会看到楼主分享一些资源,要求留下邮箱,楼主才给发。
对于一个热门的帖子,留下的邮箱数量是非常多的,楼主需要一个一个的去复制那些回复的邮箱,然后再粘贴发送邮件,不是被折磨死就是被累死。无聊至极写了一个抓取百度贴吧邮箱数据的程序,需要的拿走。
程序实现了一键抓取帖子全部邮箱和分页抓取邮箱两个功能,界面懒得做了,效果如下:
老规矩,直接贴源码
<?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 id="共采集到数据-counts-条">共采集到数据:'.$counts.'条</h2>'; } function getEmail($str){ $pattern = "/([a-z0-9\-_\.]+@[a-z0-9]+\.[a-z0-9\-_\.]+)/"; preg_match_all($pattern,$str,$emailArr); return $emailArr[0]; } ?>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Linux終端中查看Python版本時遇到權限問題的解決方法當你在Linux終端中嘗試查看Python的版本時,輸入python...

在使用Python的pandas庫時,如何在兩個結構不同的DataFrame之間進行整列複製是一個常見的問題。假設我們有兩個Dat...

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

Uvicorn是如何持續監聽HTTP請求的? Uvicorn是一個基於ASGI的輕量級Web服務器,其核心功能之一便是監聽HTTP請求並進�...

在Python中,如何通過字符串動態創建對象並調用其方法?這是一個常見的編程需求,尤其在需要根據配置或運行...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

本文討論了諸如Numpy,Pandas,Matplotlib,Scikit-Learn,Tensorflow,Tensorflow,Django,Blask和請求等流行的Python庫,並詳細介紹了它們在科學計算,數據分析,可視化,機器學習,網絡開發和H中的用途
