用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];
- }
- ?>
用PHP抓取百度贴吧邮箱数据的更多相关文章
- Python爬虫之小试牛刀——使用Python抓取百度街景图像
之前用.Net做过一些自动化爬虫程序,听大牛们说使用python来写爬虫更便捷,按捺不住抽空试了一把,使用Python抓取百度街景影像. 这两天,武汉迎来了一个德国总理默克尔这位大人物,又刷了一把武汉 ...
- Python抓取百度百科数据
前言 本文整理自慕课网<Python开发简单爬虫>,将会记录爬取百度百科"python"词条相关页面的整个过程. 抓取策略 确定目标:确定抓取哪个网站的哪些页面的哪部分 ...
- python3 - 通过BeautifulSoup 4抓取百度百科人物相关链接
导入需要的模块 需要安装BeautifulSoup from urllib.request import urlopen, HTTPError, URLError from bs4 import Be ...
- selenium-java web自动化测试工具抓取百度搜索结果实例
selenium-java web自动化测试工具抓取百度搜索结果实例 这种方式抓百度的搜索关键字结果非常容易抓长尾关键词,根据热门关键词去抓更多内容可以用抓google,百度的这种内容容易给屏蔽,用这 ...
- C#.Net使用正则表达式抓取百度百家文章列表
工作之余,学习了一下正则表达式,鉴于实践是检验真理的唯一标准,于是便写了一个利用正则表达式抓取百度百家文章的例子,具体过程请看下面源码: 一:获取百度百家网页内容 public List<str ...
- Python3---爬虫---抓取百度贴吧
前言 该文章主要描述如何抓取百度贴吧内容.当然是简单爬虫实现功能,没有实现输入参数过滤等辅助功能,仅供小白学习. 修改时间:20191219 天象独行 import os,urllib.request ...
- PHP网络爬虫实践:抓取百度搜索结果,并分析数据结构
百度的搜索引擎有反爬虫机制,我先直接用guzzle试试水.代码如下: <?php /** * Created by Benjiemin * Date: 2020/3/5 * Time: 14:5 ...
- SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享
SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...
- Hawk: 20分钟无编程抓取大众点评17万数据
1. 主角出场:Hawk介绍 Hawk是沙漠之鹰开发的一款数据抓取和清洗工具,目前已经在Github开源.详细介绍可参考:http://www.cnblogs.com/buptzym/p/545419 ...
随机推荐
- HALCON 光圈和景深的关系
光圈越大,越亮,景深越小 光圈越小,越暗,景深越大 景深为成像清晰的那个范围
- zendframework 初始化配置
https://framework.zend.com/manual/2.4/en/tutorials/config.advanced.html#environment-specific-system- ...
- 创建 DLL 步骤 和 SRC
LIBRARY SimulationTouchDll EXPORTS MouseControl GetPosition //MouseControlInterface.def 文件 #pragma o ...
- TCPClient组件和TCPServer组件的主要方法和属性
IdTCPClient属性1 : IOHandler 如果有相应的输入/输出操作,那么IOHandler相对应的组件或接口将提供一个虚拟/抽象的输入/输出接口给相应的网络连接2 : Intercept ...
- Android 调试桥(adb)是多种用途的工具
Android 调试桥 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理 ...
- 通过Chrome扩展来批量复制知乎好友
1.初始化文件 Chrome 官方扩展教程地址 新建一个文件夹 zhi-follow 下图中 1 部分为 默认的图标3种尺寸 会显示在 Chrome 中 2. 定义按钮样式 页面上会有 ...
- SQL Server修改标识列方法(备忘)
原文:SQL Server修改标识列方法(备忘) SQL Server修改标识列方法 ----允许对系统表进行更新 exec sp_configure 'allow updates',1 reconf ...
- 零元学Expression Blend 4 - Chapter 24 以实作了解Cover Flow功能
原文:零元学Expression Blend 4 - Chapter 24 以实作了解Cover Flow功能 今天要介绍一个Silverlight Toolkit内好用且在图片展示操作上很常见的元件 ...
- Linux简单文本处理
tr命令:tr [option] set1 [set2] 删除或者替换set1中的字符在文本表示这个问题中,windows系统下,\r\n为换行:而linux系统下,\n为换行.win->lin ...
- VPS用来配置上网外,还可以做一个同步盘
我曾经在一个活动的博文里说过,男人必须要有一个VPS和一个树莓派,VPS这个东西,以后会是中国男人的一种必备技能,今天又有一个小伙伴请教我VPS的用法,我就简单说说我目前使用的情况.首先我希望你能有点 ...