PHP网页抓取之抓取百度贴吧邮箱数据代码分享


Posted in Python onApril 13, 2016

百度贴吧大家都经常逛,去逛百度贴吧的时候,经常会看到楼主分享一些资源,要求留下邮箱,楼主才给发。

对于一个热门的帖子,留下的邮箱数量是非常多的,楼主需要一个一个的去复制那些回复的邮箱,然后再粘贴发送邮件,不是被折磨死就是被累死。无聊至极写了一个抓取百度贴吧邮箱数据的程序,需要的拿走。

程序实现了一键抓取帖子全部邮箱和分页抓取邮箱两个功能,界面懒得做了,效果如下:

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>共采集到数据:'.$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 相关文章推荐
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
Python使用pymysql从MySQL数据库中读出数据的方法
Jul 25 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
python实现猜拳小游戏
Apr 05 Python
python机器学习库xgboost的使用
Jan 20 Python
python numpy库linspace相同间隔采样的实现
Feb 25 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
Python 在函数上添加包装器
Jul 28 Python
Python使用shutil模块实现文件拷贝
Jul 31 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
python 实时遍历日志文件
Apr 12 #Python
python字符串连接方法分析
Apr 12 #Python
python去除文件中空格、Tab及回车的方法
Apr 12 #Python
Python脚本实现虾米网签到功能
Apr 12 #Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 #Python
用Python写冒泡排序代码
Apr 12 #Python
详解Python的Django框架中manage命令的使用与扩展
Apr 11 #Python
You might like
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
PHP+JQuery+Ajax实现分页方法详解
2016/08/06 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
2017/04/04 PHP
php函数式编程简单示例
2019/08/08 PHP
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python的requests网络编程包使用教程
2016/07/11 Python
python 性能提升的几种方法
2016/07/15 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
Django对models里的objects的使用详解
2019/08/17 Python
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
奇怪的鱼:Weird Fish
2018/03/18 全球购物
init进程的作用
2015/08/20 面试题
生产班组长岗位职责
2014/01/05 职场文书
手工社团活动方案
2014/02/17 职场文书
酒店管理求职信范文
2014/04/06 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书