PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
php  /  管理员 发布于 8年前   155
本文实例讲述了PHP实现登录搜狐广告获取广告联盟数据的方法。分享给大家供大家参考,具体如下: 一直有一个想法,每次都要登录去看联盟昨天收益多少?每天都要登录和麻烦,能不能做一个汇总发邮件的功能呢? 可惜了,验证码绕不过去,只能想一个办法。先在服务器手动打一次验证码,然后在通过定时器,每隔10分钟请求一个页面 这样的话Cookies就不会失效,,然后每周只需要跟我汇总数据就Ok了。。 远程提交表单的原理,可以参考:PHP基于curl后台远程登录正方教务系统的方法 参考的代码还是一样的如下 获取验证码Code.php 获取数据的页面,这里需要通过表单来提交手动的验证码 完整实例代码点击此处本站下载。 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。define("SITE_PATH", $_SERVER['DOCUMENT_ROOT']); $LoginUrl = "http://union.sogou.com/"; $url = $LoginUrl."validateCode"; $filedir = SITE_PATH."/TMP/Cookies"; $cookie_file = $filedir."/cookie.txt"; if(!mkdirs($filedir)) { echo "目录创建失败"; exit; }$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); //不返回header部分 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); //curl_setopt($ch, CURLOPT_REFERER, "http://125.89.69.234"); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, "10"); $response = curl_exec($ch); curl_close($ch); header("Content-type:image/gif"); echo $response; //创建目录 function mkdirs($dir) { if(!is_dir($dir)) { if(!mkdirs(dirname($dir))){ return false; } if(!mkdir($dir,0777)){ return false; } } return true;}define("SITE_PATH", $_SERVER['DOCUMENT_ROOT']);require_once SITE_PATH.'/class/SimpleHtmlDom.class.php';class GetData{private $url ;public function __construct(){$this->url = "http://union.sogou.com/index.action?searchBean.timeSegment=yestoday";$this->LoginUrl = "http://union.sogou.com/";$this->PostData = $this->LoginUrl."loginauth.action";$this->table = "dwz_union";}public function post($code){$POST['loginFromPage'] = "homePage";$POST['username'] = "xxxxxx";$POST['password'] = "xxxxx";$POST['activecode'] = $code;$POST['button.x']="14";$POST['button.y']="16";foreach($POST as $key=>$value){$tmp[] = $key."=".$value;}$postStr = implode("&", $tmp);$filedir = SITE_PATH."/TMP/Cookies";$cookie_file = $filedir."/cookie.txt";$result = $this->curl($this->PostData, "http://union.sogou.com/loginauth.action", $postStr, $cookie_file);$url = "http://union.sogou.com/index.action";$postArr = "searchBean.timeSegment=yestoday";$response = $this->curl($url, " http://union.sogou.com/index.action?pid=dengwz7788", $postArr, $cookie_file);$this->saveData($response);}private function saveData($response){$dom = str_get_html($response);$tmp = $dom->find('div.rtable table tbody tr',1)->plaintext;$data = preg_split("/\s+/i", $tmp);$this->link();$date = date('Y-m-d',strtotime('-1 day'));$datetime = date('Y-m-d H:i:s');$money = $data['4'];$shows = $data['2'];$times = $data['3'];$sql = "select sum(money) as total from {$this->table}";$query = mysql_query($sql);$totaTmp = mysql_fetch_row($query);var_dump($totalTmp);if(empty($totaTmp['0'])){$total = $money;}else{$total = $totaTmp['0']+$money;}$sql = "insert into {$this->table}(date,datetime,money,shows,times,total) values('{$date}','{$datetime}','{$money}','{$shows}','{$times}','{$total}')";mysql_query($sql);}private function link(){$link = mysql_connect('localhost', 'root', '');mysql_select_db('dblog', $link);mysql_query('SET NAMES utf8');}private function saveHtml($infomation,$filedir,$filename){if(!$this->mkdirs($filedir)){return 0;}$sf = $filedir."/".$filename;$fp=fopen($sf,"w"); //写方式打开文件fwrite($fp,$infomation); //存入内容fclose($fp); //关闭文件}//创建目录private function mkdirs($dir){if(!is_dir($dir)){if(!$this->mkdirs(dirname($dir))){return false;}if(!mkdir($dir,0777)){return false;}}return true;}public function login(){$filedir = SITE_PATH."/TMP/Cookies";if(!$this->mkdirs($filedir)){echo "目录创建失败";exit;}$cookie_file = $filedir."/cookie.txt";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $this->LoginUrl);curl_setopt($ch, CURLOPT_HEADER, 0); //不返回header部分curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);//curl_setopt($ch, CURLOPT_REFERER, "http://125.89.69.234");curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_TIMEOUT, "10");$response = curl_exec($ch);curl_close($ch);// 抽CURL浼璇}private function curl($url,$url2,$fields,$cookie_file){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0); //不返回header部分curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: union.sogou.com" ));curl_setopt($ch, CURLOPT_REFERER,$url2);$response = curl_exec($ch);//echo curl_error($ch);curl_close($ch);return $response;}}$GetData = new GetData();if(isset($_POST['code'])){$GetData->POST($_POST['code']);}您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号
