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 相关文章推荐
Python CSV模块使用实例
Apr 09 Python
python实现可将字符转换成大写的tcp服务器实例
Apr 29 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
如何用python写一个简单的词法分析器
Dec 18 Python
Python+pyplot绘制带文本标注的柱状图方法
Jul 08 Python
python实现单链表的方法示例
Sep 03 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
详解Python实现进度条的4种方式
Jan 15 Python
Python中常用的高阶函数实例详解
Feb 21 Python
关于Keras Dense层整理
May 21 Python
python 实用工具状态机transitions
Nov 21 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
May 10 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字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
Javascript倒计时代码
2010/08/12 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
vue2 设置router-view默认路径的实例
2018/09/20 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
如何获取Python简单for循环索引
2019/11/21 Python
Python assert关键字原理及实例解析
2019/12/13 Python
python剪切视频与合并视频的实现
2020/03/03 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
python 实现数据库中数据添加、查询与更新的示例代码
2020/12/07 Python
美国领先的奢侈手表在线零售商:WatchMaxx
2017/12/17 全球购物
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
专升本自我鉴定
2013/10/10 职场文书
小学防溺水制度
2014/01/29 职场文书
应届中专生自荐书范文
2014/02/13 职场文书
监察建议书范文
2014/03/12 职场文书
学校清明节活动总结
2014/07/04 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
检讨书大全
2015/01/27 职场文书
应届生个人的求职(自荐信范文2篇)
2019/08/23 职场文书