中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用PHP怎么實現一個無需刷新的爬蟲

發布時間:2021-06-06 17:19:00 來源:億速云 閱讀:137 作者:Leah 欄目:開發技術

使用PHP怎么實現一個無需刷新的爬蟲?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

<?php 
//設置最大執行時間
set_time_limit(0);
function getHtml($url){
  // 1. 初始化
   $ch = curl_init();
   // 2. 設置選項,包括URL
   curl_setopt($ch,CURLOPT_URL,$url);
   curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
   curl_setopt($ch,CURLOPT_HEADER,0);
   // 3. 執行并獲取HTML文檔內容
   $output = curl_exec($ch);
   if($output === FALSE ){
    $output = '';
   }
   // 4. 釋放curl句柄
   curl_close($ch);
   return $output;
}
function getPageData($url){
  // 獲取整個網頁內容
  $html = getHtml($url);
  // 初步獲取主塊內容
  preg_match("/教程列表.*教程列表/s",$html,$body_html);
  // 返回數據
  $data = array();
  //判斷是否存在要獲取的內容
  if(count($body_html)){
    // 獲取頁面指定信息
    preg_match_all('/<a class="avatar".*user_id="(\S*)" href="(\S*)" rel="external nofollow" /',$body_html[0],$info_1);
    preg_match_all('/<a href="(.*)" rel="external nofollow" .*title="(.*)"/',$body_html[0],$info_2);
    $info = array_merge($info_1,$info_2);
    //組合的信息
    for($index=0; $index<count($info[0]); $index++){
      //以文章信息作為key存數組,以及覆蓋舊數據
      $data[$info[4][$index]] = array(
              'user_id'  => $info[1][$index],
              'user_home' => $info[2][$index],
              'a_url'   => $info[4][$index],
              'a_title'  => $info[5][$index],
           );
    }
  }
  return $data;
}
header("Content-type: text/html; charset=utf-8"); 
echo '<pre>';
// 初始化數據
$page_no = 1;
$data_all = array();
// 分頁獲取數據
do{
  $url = 'http://www.thinkphp.cn/code/examples/p/' . $page_no;
  $data = getPageData($url);
  $data_all += $data;
  $page_no ++;
}while ($page_no <= 10); //當前只獲取10頁,如果要全部獲取則把條件換成$data或!empty($data)
var_dump($data_all);
?>

看完上述內容,你們掌握使用PHP怎么實現一個無需刷新的爬蟲的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

浙江省| 仪陇县| 蒲江县| 会东县| 新巴尔虎左旗| 阿克苏市| 小金县| 九寨沟县| 通许县| 柳林县| 宜川县| 邢台市| 阿拉善右旗| 馆陶县| 昌吉市| 南华县| 兰坪| 和顺县| 油尖旺区| 元江| 义马市| 西和县| 盐源县| 孝昌县| 安徽省| 张家口市| 巧家县| 舒城县| 丹寨县| 大田县| 息烽县| 宁武县| 罗源县| 天峻县| 贡觉县| 城市| 郴州市| 申扎县| 江华| 长海县| 镶黄旗|