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 相关文章推荐
利用Python3分析sitemap.xml并抓取导出全站链接详解
Jul 04 Python
python清理子进程机制剖析
Nov 23 Python
TensorFlow中权重的随机初始化的方法
Feb 11 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
利用python将图片版PDF转文字版PDF
May 03 Python
django自定义模板标签过程解析
Dec 14 Python
浅析Python数字类型和字符串类型的内置方法
Dec 22 Python
Python基于read(size)方法读取超大文件
Mar 12 Python
200行python代码实现贪吃蛇游戏
Apr 24 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
May 11 Python
Python 基于jwt实现认证机制流程解析
Jun 22 Python
python mongo 向数据中的数组类型新增数据操作
Dec 05 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调用nginx的mod_zip模块打包ZIP文件
2014/06/11 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
jquery禁用右键示例
2014/04/28 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
Python解释执行原理分析
2014/08/22 Python
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
Python实现批量检测HTTP服务的状态
2016/10/27 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
sklearn+python:线性回归案例
2020/02/24 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
如何现实servlet的单线程模式
2014/08/05 面试题
会计电算化专业个人的自我评价
2013/11/24 职场文书
季度思想汇报
2014/01/01 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
师范生见习报告范文
2014/11/03 职场文书
开幕式邀请函
2015/01/31 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL