国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > ThinkPHP > 正文

phpQuery ------實戰(zhàn)應(yīng)用thinkphp框架

2024-09-09 15:20:17
字體:
供稿:網(wǎng)友

相信許多朋友看小說都有一種感覺就是總有一些廣告頁面彈出來,加上最近在研究phpQuery進(jìn)行數(shù)據(jù)采集,所以萌生了一個寫一個小說網(wǎng)站玩的想法,經(jīng)過大概4天的時間終于完成了,主要運(yùn)用thinkphp框架MongoDb和phpQuery.

如下是一個分頁采集的例子:

  1. public function pageHtml($searchkey$page = 1) { 
  2.         Vendor('phpQuery.phpQuery.phpQuery'); 
  3.         $pageHtml = Baidu::searchPage($searchkey$page); 
  4.         $pageHtml = /phpQuery::newDocumentHTML($pageHtml); 
  5.         $count = $pageHtml->find('#pagelink .last')->html(); 
  6.         $trs = $pageHtml->find('#content tr'); 
  7.         foreach ($trs as $tr) { 
  8.             $book['href'] = pq($tr)->find('td:eq(0) a')->attr('href'); 
  9.             $book['title'] = Baidu::utf8(pq($tr)->find('td:eq(0) a')->html()); 
  10.             $book['bookId'] = intval(end(explode('/'$book['href']))); 
  11.             $href = explode('/', pq($tr)->find('td:eq(1) a')->attr('href')); 
  12.             $book['newZj'] = Baidu::DING_DIAN . $href[3] . '/' . $href[4] . '/' . $href[5] . '.html'
  13.             $book['newName'] = Baidu::utf8(pq($tr)->find('td:eq(1) a')->html()); 
  14.             $book['author'] = Baidu::utf8(pq($tr)->find('td:eq(2)')->html()); 
  15.             $book['ziNum'] = Baidu::utf8(pq($tr)->find('td:eq(3)')->html()); 
  16.             $book['lastDate'] = Baidu::utf8(pq($tr)->find('td:eq(4)')->html()); 
  17.             $book['status'] = Baidu::utf8(pq($tr)->find('td:eq(5)')->html()); 
  18.             $n = D('book')->where(array('bookId' => $book['bookId']))->find(); 
  19.             $book['update'] = time(); 
  20.             if ($n) { 
  21.                 $book['_id'] = $n['_id']; 
  22.                 $book['create'] = $n['create']; 
  23.                 D('book')->create($book); 
  24.                 D('book')->save(); 
  25.             } else { 
  26.                 if ($book['href']) { 
  27.                     $book['create'] = time(); 
  28.                     D('book')->add($book); 
  29.                 } 
  30.             } 
  31.         } 
  32.         /phpQuery::$documents = array(); 
  33.         return $count
  34.     } 

由于用的是mongoDb所以字符串要用utf-8的編碼多有在Think/BaiduModel中做了一個轉(zhuǎn)碼如下:

  1. public static function utf8(String $string) { 
  2.             if (is_string($string)) { 
  3.                $untion = mb_detect_encoding($stringarray("ASCII"'UTF-8'"GB2312""GBK"'BIG5')); //轉(zhuǎn)碼 
  4.             if ($untion != 'UTF-8') { 
  5.                 $string = mb_convert_encoding($string"UTF-8"$untion); 
  6.             } //開源軟件:Vevb.com 
  7.             return $string
  8.         } 
  9.         return 'this is not string'
  10.      } 

phpQuery下載地址:http://pan.baidu.com/s/1ntv8su1

phpquery會占用過多內(nèi)存的解決方法http://www.neatstudio.com/archives/?article-1928.html

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 白河县| 德阳市| 汝阳县| 安吉县| 乌什县| 棋牌| 松潘县| 徐汇区| 兴仁县| 南陵县| 新安县| 辰溪县| 武鸣县| 安龙县| 柳州市| 巨鹿县| 九龙坡区| 常德市| 镇平县| 思南县| 肥西县| 彭泽县| 华亭县| 郴州市| 温泉县| 昌平区| 芜湖县| 大石桥市| 会理县| 客服| 榆林市| 桃园市| 小金县| 东台市| 大石桥市| 甘孜| 门源| 米泉市| 都兰县| 定州市| 民勤县|