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中实现参数类型检查的简单方法
Apr 21 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
Nov 23 Python
Python中实现最小二乘法思路及实现代码
Jan 04 Python
django限制匿名用户访问及重定向的方法实例
Feb 07 Python
Windows系统下PhantomJS的安装和基本用法
Oct 21 Python
Pycharm+Scrapy安装并且初始化项目的方法
Jan 15 Python
对python中if语句的真假判断实例详解
Feb 18 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
Django调用支付宝接口代码实例详解
Apr 04 Python
Python Dataframe常见索引方式详解
May 27 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
浅析Python 条件控制语句
Jul 15 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
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
PHP 实例化类的一点摘记
2008/03/23 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
PHP的cookie与session原理及用法详解
2019/09/27 PHP
jquery下json数组的操作实现代码
2010/08/09 Javascript
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
node.js中的fs.link方法使用说明
2014/12/15 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
解决await在forEach中不起作用的问题
2021/02/25 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
介绍Python中的文档测试模块
2015/04/28 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
Python @property使用方法解析
2019/09/17 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
Python list和str互转的实现示例
2020/11/16 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
施华洛世奇巴西官网:SWAROVSKI巴西
2019/12/03 全球购物
大型活动组织方案
2014/05/10 职场文书
2014年党总支工作总结
2014/12/18 职场文书
教师教育心得体会
2016/01/19 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书