最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP實現(xiàn)登錄搜狐廣告獲取廣告聯(lián)盟數(shù)據(jù)的方法【附demo源碼】

 更新時間:2016年10月14日 15:58:25   作者:dengwz7788  
這篇文章主要介紹了PHP實現(xiàn)登錄搜狐廣告獲取廣告聯(lián)盟數(shù)據(jù)的方法,涉及php基于curl的遠程數(shù)據(jù)操作相關(guān)技巧,需要的朋友可以參考下

本文實例講述了PHP實現(xiàn)登錄搜狐廣告獲取廣告聯(lián)盟數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:

一直有一個想法,每次都要登錄去看聯(lián)盟昨天收益多少?每天都要登錄和麻煩,能不能做一個匯總發(fā)郵件的功能呢?

可惜了,驗證碼繞不過去,只能想一個辦法。先在服務(wù)器手動打一次驗證碼,然后在通過定時器,每隔10分鐘請求一個頁面

這樣的話Cookies就不會失效,,然后每周只需要跟我匯總數(shù)據(jù)就Ok了。。

遠程提交表單的原理,可以參考:PHP基于curl后臺遠程登錄正方教務(wù)系統(tǒng)的方法

參考的代碼還是一樣的如下

獲取驗證碼Code.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 "目錄創(chuàng)建失敗";
  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;
 //創(chuàng)建目錄
 function mkdirs($dir)
 {
   if(!is_dir($dir))
  {
   if(!mkdirs(dirname($dir))){
    return false;
   }
   if(!mkdir($dir,0777)){
    return false;
 }
 }
  return true;
}

獲取數(shù)據(jù)的頁面,這里需要通過表單來提交手動的驗證碼

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); //存入內(nèi)容
fclose($fp); //關(guān)閉文件
}
//創(chuàng)建目錄
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 "目錄創(chuàng)建失敗";
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']);
}

完整實例代碼點擊此處本站下載

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php curl用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php排序算法總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《PHP數(shù)學運算技巧總結(jié)》、《php正則表達式用法總結(jié)》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

  • php上傳文件并顯示上傳進度的方法

    php上傳文件并顯示上傳進度的方法

    這篇文章主要介紹了php上傳文件并顯示上傳進度的方法,實例分析了php傳輸文件及顯示傳輸進度的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • PHP圖形操作之Jpgraph學習筆記

    PHP圖形操作之Jpgraph學習筆記

    這篇文章主要介紹了PHP圖形操作之Jpgraph學習筆記,較為詳細的介紹了Jpgraph的安裝與使用技巧,需要的朋友可以參考下
    2015-12-12
  • PHP+redis實現(xiàn)的限制搶購防止商品超發(fā)功能詳解

    PHP+redis實現(xiàn)的限制搶購防止商品超發(fā)功能詳解

    這篇文章主要介紹了PHP+redis實現(xiàn)的限制搶購防止商品超發(fā)功能,結(jié)合實例形式分析了PHP+redis通過數(shù)據(jù)標記、日志記錄等操作防止商品搶購中的超發(fā)相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-09-09
  • PHP實現(xiàn)圖片的等比縮放和Logo水印功能示例

    PHP實現(xiàn)圖片的等比縮放和Logo水印功能示例

    這篇文章主要介紹了PHP實現(xiàn)圖片的等比縮放和Logo水印功能,結(jié)合實例形式分析了php圖片等比例縮放及l(fā)ogo水印添加操作技巧,需要的朋友可以參考下
    2017-05-05
  • php可應(yīng)用于面包屑導航的迭代尋找家譜樹實現(xiàn)方法

    php可應(yīng)用于面包屑導航的迭代尋找家譜樹實現(xiàn)方法

    這篇文章主要介紹了php可應(yīng)用于面包屑導航的迭代尋找家譜樹實現(xiàn)方法,涉及php迭代的技巧與應(yīng)用方法,非常具有實用價值,需要的朋友可以參考下
    2015-02-02
  • 修改PHP的memory_limit限制的方法分享

    修改PHP的memory_limit限制的方法分享

    在運行PHP程序,通常會遇到“Fatal Error: Allowed memory size of xxxxxx bytes exhausted”的錯誤, 這個意味著PHP腳本使用了過多的內(nèi)存,并超出了系統(tǒng)對其設(shè)置的允許最大內(nèi)存
    2012-02-02
  • PHP面向?qū)ο蟪绦蛟O(shè)計之對象克隆clone和魔術(shù)方法__clone()用法分析

    PHP面向?qū)ο蟪绦蛟O(shè)計之對象克隆clone和魔術(shù)方法__clone()用法分析

    這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計之對象克隆clone和魔術(shù)方法__clone()用法,結(jié)合具體實例形式分析了php面向?qū)ο蟪绦蛟O(shè)計中對象克隆clone和魔術(shù)方法__clone()相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下
    2019-06-06
  • php UTF-8、Unicode和BOM問題

    php UTF-8、Unicode和BOM問題

    經(jīng)常遇到的問題是,使用了BOM編碼后,PHP腳本執(zhí)行錯誤,或使用fileStream讀取并轉(zhuǎn)換為XML會報錯"The markup in the document following the root element must be well-formed."。
    2010-05-05
  • PHP加密解密類實例分析

    PHP加密解密類實例分析

    這篇文章主要介紹了PHP加密解密類,實例分析了php實現(xiàn)加密與解密的原理與相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • PHP 使用 DOM 解析器刪除指定a鏈接的方法實例分析

    PHP 使用 DOM 解析器刪除指定a鏈接的方法實例分析

    這篇文章主要介紹了PHP 使用 DOM 解析器刪除指定a鏈接的方法,結(jié)合實例形式分析了php dom解析器創(chuàng)建、加載、判斷、匹配等相關(guān)使用技巧,需要的朋友可以參考下
    2023-06-06

最新評論

军事| 普格县| 灵宝市| 寻乌县| 芷江| 乐平市| 澳门| 怀来县| 静海县| 白水县| 宁海县| 竹山县| 岳池县| 泾源县| 陆川县| 搜索| 甘泉县| 高雄县| 庐江县| 黎川县| 南丰县| 宁德市| 绩溪县| 宿州市| 云南省| 建水县| 茂名市| 奉化市| 乌拉特中旗| 天门市| 湖北省| 家居| 康保县| 容城县| 桐乡市| 濮阳县| 三河市| 徐闻县| 黑河市| 潼关县| 濮阳县|