PHP网页抓取之抓取百度贴吧邮箱数据代码分享

 更新时间:2016年04月13日 08:56:30   作者:国盛工作室  
本文给大家介绍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利用pandas和matplotlib实现绘制柱状折线图

    Python利用pandas和matplotlib实现绘制柱状折线图

    这篇文章主要为大家详细介绍了如何使用 Python 中的 Pandas 和 Matplotlib 库创建一个柱状图与折线图结合的数据可视化图表,感兴趣的可以了解一下
    2023-11-11
  • python基础之引用和匿名函数

    python基础之引用和匿名函数

    这篇文章主要介绍了python引用和匿名函数,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • Python返回数组/List长度的实例

    Python返回数组/List长度的实例

    今天小编就为大家分享一篇Python返回数组/List长度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python Pandas高级教程之时间处理

    Python Pandas高级教程之时间处理

    我们发现关于时间日期的简单计算很多功能都是datetime库提供的,那么pandas有没有提供跟日期时间有关的函数,通过下面文章来了解下,这篇文章主要给大家介绍了关于Python Pandas高级教程之时间处理的相关资料,需要的朋友可以参考下
    2021-10-10
  • python 实现目录复制的三种小结

    python 实现目录复制的三种小结

    今天小编就为大家分享一篇python 实现目录复制的三种小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 如何利用Python提取pdf中的表格数据(附实战案例)

    如何利用Python提取pdf中的表格数据(附实战案例)

    从PDF表格中获取数据是一项痛苦的工作,下面这篇文章主要给大家介绍了关于如何利用Python提取pdf中的表格数据的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Python批量获取并保存手机号归属地和运营商的示例

    Python批量获取并保存手机号归属地和运营商的示例

    这篇文章主要介绍了Python批量获取并保存手机号的归属地和运营商的示例,帮助大家更好的利用python处理数据,感兴趣的朋友可以了解下
    2020-10-10
  • pandas使用apply多列生成一列数据的实例

    pandas使用apply多列生成一列数据的实例

    今天小编就为大家分享一篇pandas使用apply多列生成一列数据的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Pycharm报错Non-zero exit code (2)的完美解决方案

    Pycharm报错Non-zero exit code (2)的完美解决方案

    最近在使用pycharm安装或升级模块时出现了错误,下面这篇文章主要给大家介绍了关于Pycharm报错Non-zero exit code (2)的完美解决方案,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • python 如何用terminal输入参数

    python 如何用terminal输入参数

    这篇文章主要介绍了python 如何用terminal输入参数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05

最新评论