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基于回溯法子集树模板解决选排问题示例
Sep 07 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
Mar 23 Python
pytorch构建网络模型的4种方法
Apr 13 Python
Python字符串对象实现原理详解
Jul 01 Python
Django使用unittest模块进行单元测试过程解析
Aug 02 Python
关于PyTorch源码解读之torchvision.models
Aug 17 Python
Django自定义模板过滤器和标签的实现方法
Aug 21 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
Python 写了个新型冠状病毒疫情传播模拟程序
Feb 14 Python
Python数据相关系数矩阵和热力图轻松实现教程
Jun 16 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+mysql分页代码详解
2008/03/27 PHP
smarty巧妙处理iframe中内容页的代码
2012/03/07 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
AngularJS表格样式简单设置方法示例
2017/03/03 Javascript
Vue.js用法详解
2017/11/13 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
图文详解WinPE下安装Python
2016/05/17 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
django认证系统 Authentication使用详解
2019/07/22 Python
Python简易版图书管理系统
2019/08/12 Python
python urllib爬虫模块使用解析
2019/09/05 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
python requests库的使用
2021/01/06 Python
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
Linux文件操作命令都有哪些
2016/07/23 面试题
国庆节演讲稿
2014/05/27 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js
python对文档中元素删除,替换操作
2022/04/02 Python