佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > PHP一個(gè)簡單的無需刷新爬蟲

PHP一個(gè)簡單的無需刷新爬蟲

熱門標(biāo)簽:團(tuán)購網(wǎng)站 服務(wù)器配置 銀行業(yè)務(wù) Linux服務(wù)器 Mysql連接數(shù)設(shè)置 電子圍欄 科大訊飛語音識別系統(tǒng) 阿里云

由于只是一個(gè)小示例,所以過程化簡單寫了,小菜隨便參考,大神大可點(diǎn)解

?php 
//設(shè)置最大執(zhí)行時(shí)間
set_time_limit(0);
function getHtml($url){
  // 1. 初始化
   $ch = curl_init();
   // 2. 設(shè)置選項(xiàng),包括URL
   curl_setopt($ch,CURLOPT_URL,$url);
   curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
   curl_setopt($ch,CURLOPT_HEADER,0);
   // 3. 執(zhí)行并獲取HTML文檔內(nèi)容
   $output = curl_exec($ch);
   if($output === FALSE ){
    $output = '';
   }
   // 4. 釋放curl句柄
   curl_close($ch);
   return $output;
}
function getPageData($url){
  // 獲取整個(gè)網(wǎng)頁內(nèi)容
  $html = getHtml($url);
  // 初步獲取主塊內(nèi)容
  preg_match("/教程列表.*教程列表/s",$html,$body_html);
  // 返回?cái)?shù)據(jù)
  $data = array();
  //判斷是否存在要獲取的內(nèi)容
  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; $indexcount($info[0]); $index++){
      //以文章信息作為key存數(shù)組,以及覆蓋舊數(shù)據(jù)
      $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>';
// 初始化數(shù)據(jù)
$page_no = 1;
$data_all = array();
// 分頁獲取數(shù)據(jù)
do{
  $url = 'http://www.thinkphp.cn/code/examples/p/' . $page_no;
  $data = getPageData($url);
  $data_all += $data;
  $page_no ++;
}while ($page_no = 10); //當(dāng)前只獲取10頁,如果要全部獲取則把條件換成$data或!empty($data)
var_dump($data_all);
?>

接下的入表庫當(dāng)然就不寫了,那些更小意思了~就此別過吧~

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

您可能感興趣的文章:
  • php遠(yuǎn)程請求CURL實(shí)例教程(爬蟲、保存登錄狀態(tài))
  • PHPCrawl爬蟲庫實(shí)現(xiàn)抓取酷狗歌單的方法示例
  • php與python實(shí)現(xiàn)的線程池多線程爬蟲功能示例
  • 利用php抓取蜘蛛爬蟲痕跡的示例代碼
  • PHP實(shí)現(xiàn)爬蟲爬取圖片代碼實(shí)例

標(biāo)簽:大理 萍鄉(xiāng) 衢州 江蘇 衡水 廣元 棗莊 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP一個(gè)簡單的無需刷新爬蟲》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    资溪县| 讷河市| 平顶山市| 阳曲县| 天门市| 常德市| 金沙县| 湖南省| 五指山市| 琼结县| 清原| 邳州市| 珠海市| 新乐市| 文昌市| 乌拉特前旗| 米泉市| 内黄县| 日土县| 辽阳县| 惠安县| 松溪县| 万安县| 康保县| 新晃| 青川县| 和政县| 赤峰市| 武乡县| 上栗县| 湾仔区| 北安市| 聂荣县| 松桃| 江门市| 沾益县| 原平市| 兴文县| 宁武县| 黄骅市| 奉贤区|