注:本程序可能非常适合那些做百度贴吧营销的朋友。

去逛百度贴吧的时候,经常会看到楼主分享一些资源,要求留下邮箱,楼主才给发。

对于一个热门的帖子,留下的邮箱数量是非常多的,楼主需要一个一个的去复制那些回复的邮箱,然后再粘贴发送邮件,不是被折磨死就是被累死。无聊至极写了一个抓取百度贴吧邮箱数据的程序,需要的拿走。

程序实现了一键抓取帖子全部邮箱和分页抓取邮箱两个功能,界面懒得做了,效果如下:

老规矩,直接贴源码

  1. <?php
  2. $url2="";
  3. $page="";
  4. if($_GET['url2']==""){
  5. $url2="http://tieba.baidu.com/p/2314539885?pn=1";
  6. }else{
  7. $url2=$_GET['url2'];
  8. }
  9.  
  10. if($_GET['page']==""){
  11. $page="1";
  12. }else{
  13. $page=$_GET['page'];
  14. }
  15. ?>
  16. <form action="" method="get">
  17. <input type="hidden" value="getAll" name="type" />
  18. <table>
  19. <tr>
  20. <td>帖子链接:</td><td><input type="text" name="url" value="http://tieba.baidu.com/p/2314539885" style="width:300px;" /></td>
  21. </tr>
  22. <tr>
  23. <td>总页数:</td><td><input type="text" name="page" style="width:300px;" value="<?php echo $page;?>" /></td>
  24. </tr>
  25. <tr>
  26. <td colspan=2><input type="submit" value="抓取全部邮箱数据" /></td>
  27. </tr>
  28. </table>
  29. </form>
  30.  
  31. <form action="" method="get">
  32. <input type="hidden" value="getNow" name="type" />
  33. <table>
  34. <tr>
  35. <td>帖子链接:</td><td><input type="text" name="url2" value="<?php echo $url2;?>" style="width:300px;" /></td>
  36. </tr>
  37. <tr>
  38. <td colspan=2><input type="submit" value="抓取当前页面邮箱数据" /></td>
  39. </tr>
  40. </table>
  41. </form>
  42. <?php
  43. if($_GET['type']!=""){
  44. $counts=0;
  45. if($_GET['type']=="getAll"){
  46. $pages=$_GET['page'];
  47. $url = $_GET['url'];
  48. for($i=0;$i<$pages;$i++){
  49. $ch2 = curl_init();
  50. curl_setopt($ch2, CURLOPT_URL, $url);
  51. curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, TRUE);
  52. curl_setopt($ch2, CURLOPT_SSL_VERIFYHOST, FALSE);
  53. curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false);
  54. curl_setopt($ch2, CURLOPT_RETURNTRANSFER, TRUE);
  55. $texts = curl_exec($ch2);
  56. curl_close($ch2);
  57. $dat=getEmail($texts);
  58. for($j=0;$j<count($dat);$j++){
  59. echo $dat[$j]."<br />";
  60. $counts++;
  61. }
  62. }
  63. }else if($_GET['type']=="getNow"){
  64. $url = $_GET['url2'];
  65. $ch2 = curl_init();
  66. curl_setopt($ch2, CURLOPT_URL, $url);
  67. curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, TRUE);
  68. curl_setopt($ch2, CURLOPT_SSL_VERIFYHOST, FALSE);
  69. curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false);
  70. curl_setopt($ch2, CURLOPT_RETURNTRANSFER, TRUE);
  71. $texts = curl_exec($ch2);
  72. curl_close($ch2);
  73. $dat=getEmail($texts);
  74. for($i=0;$i<count($dat);$i++){
  75. echo $dat[$i]."<br />";
  76. $counts++;
  77. }
  78. }
  79. echo '<h2>共采集到数据:'.$counts.'条</h2>';
  80. }
  81. function getEmail($str){
  82. $pattern = "/([a-z0-9\-_\.]+@[a-z0-9]+\.[a-z0-9\-_\.]+)/";
  83. preg_match_all($pattern,$str,$emailArr);
  84. return $emailArr[0];
  85. }
  86. ?>

用PHP抓取百度贴吧邮箱数据的更多相关文章

  1. Python爬虫之小试牛刀——使用Python抓取百度街景图像

    之前用.Net做过一些自动化爬虫程序,听大牛们说使用python来写爬虫更便捷,按捺不住抽空试了一把,使用Python抓取百度街景影像. 这两天,武汉迎来了一个德国总理默克尔这位大人物,又刷了一把武汉 ...

  2. Python抓取百度百科数据

    前言 本文整理自慕课网<Python开发简单爬虫>,将会记录爬取百度百科"python"词条相关页面的整个过程. 抓取策略 确定目标:确定抓取哪个网站的哪些页面的哪部分 ...

  3. python3 - 通过BeautifulSoup 4抓取百度百科人物相关链接

    导入需要的模块 需要安装BeautifulSoup from urllib.request import urlopen, HTTPError, URLError from bs4 import Be ...

  4. selenium-java web自动化测试工具抓取百度搜索结果实例

    selenium-java web自动化测试工具抓取百度搜索结果实例 这种方式抓百度的搜索关键字结果非常容易抓长尾关键词,根据热门关键词去抓更多内容可以用抓google,百度的这种内容容易给屏蔽,用这 ...

  5. C#.Net使用正则表达式抓取百度百家文章列表

    工作之余,学习了一下正则表达式,鉴于实践是检验真理的唯一标准,于是便写了一个利用正则表达式抓取百度百家文章的例子,具体过程请看下面源码: 一:获取百度百家网页内容 public List<str ...

  6. Python3---爬虫---抓取百度贴吧

    前言 该文章主要描述如何抓取百度贴吧内容.当然是简单爬虫实现功能,没有实现输入参数过滤等辅助功能,仅供小白学习. 修改时间:20191219 天象独行 import os,urllib.request ...

  7. PHP网络爬虫实践:抓取百度搜索结果,并分析数据结构

    百度的搜索引擎有反爬虫机制,我先直接用guzzle试试水.代码如下: <?php /** * Created by Benjiemin * Date: 2020/3/5 * Time: 14:5 ...

  8. SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享

    SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...

  9. Hawk: 20分钟无编程抓取大众点评17万数据

    1. 主角出场:Hawk介绍 Hawk是沙漠之鹰开发的一款数据抓取和清洗工具,目前已经在Github开源.详细介绍可参考:http://www.cnblogs.com/buptzym/p/545419 ...

随机推荐

  1. HALCON 光圈和景深的关系

    光圈越大,越亮,景深越小 光圈越小,越暗,景深越大 景深为成像清晰的那个范围

  2. zendframework 初始化配置

    https://framework.zend.com/manual/2.4/en/tutorials/config.advanced.html#environment-specific-system- ...

  3. 创建 DLL 步骤 和 SRC

    LIBRARY SimulationTouchDll EXPORTS MouseControl GetPosition //MouseControlInterface.def 文件 #pragma o ...

  4. TCPClient组件和TCPServer组件的主要方法和属性

    IdTCPClient属性1 : IOHandler 如果有相应的输入/输出操作,那么IOHandler相对应的组件或接口将提供一个虚拟/抽象的输入/输出接口给相应的网络连接2 : Intercept ...

  5. Android 调试桥(adb)是多种用途的工具

    Android 调试桥 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理 ...

  6. 通过Chrome扩展来批量复制知乎好友

        1.初始化文件 Chrome 官方扩展教程地址 新建一个文件夹 zhi-follow 下图中 1 部分为 默认的图标3种尺寸 会显示在 Chrome 中   2. 定义按钮样式   页面上会有 ...

  7. SQL Server修改标识列方法(备忘)

    原文:SQL Server修改标识列方法(备忘) SQL Server修改标识列方法 ----允许对系统表进行更新 exec sp_configure 'allow updates',1 reconf ...

  8. 零元学Expression Blend 4 - Chapter 24 以实作了解Cover Flow功能

    原文:零元学Expression Blend 4 - Chapter 24 以实作了解Cover Flow功能 今天要介绍一个Silverlight Toolkit内好用且在图片展示操作上很常见的元件 ...

  9. Linux简单文本处理

    tr命令:tr [option] set1 [set2] 删除或者替换set1中的字符在文本表示这个问题中,windows系统下,\r\n为换行:而linux系统下,\n为换行.win->lin ...

  10. VPS用来配置上网外,还可以做一个同步盘

    我曾经在一个活动的博文里说过,男人必须要有一个VPS和一个树莓派,VPS这个东西,以后会是中国男人的一种必备技能,今天又有一个小伙伴请教我VPS的用法,我就简单说说我目前使用的情况.首先我希望你能有点 ...