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实现SMTP发送邮件详细教程
Mar 02 Python
Python实现登录接口的示例代码
Jul 21 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Python实现购物车程序
Apr 16 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
Python实现对文件进行单词划分并去重排序操作示例
Jul 10 Python
Python类中方法getitem和getattr详解
Aug 30 Python
tensorflow的计算图总结
Jan 12 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
Python如何读取、写入JSON数据
Jul 28 Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 Python
教你用Python写一个植物大战僵尸小游戏
Apr 25 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的explode和implode的使用说明
2011/07/17 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
PHP中file_put_contents追加和换行的实现方法
2017/04/01 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
PHP实现简单日历类编写
2020/08/28 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/01/13 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
Python自动抢红包教程详解
2019/06/11 Python
python2和python3哪个使用率高
2020/06/23 Python
基于Python实现天天酷跑功能
2021/01/06 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
html5中地理位置定位api接口开发应用小结
2013/01/04 HTML / CSS
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
精灵市场:Pixie Market
2019/06/18 全球购物
《雪地里的小画家》教学反思
2014/02/22 职场文书
2015年采购部工作总结
2015/04/23 职场文书
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript