校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 網站建設 > 建站知識 > 優化DEDECMS采集程序 支持部分采集只需要兩步

優化DEDECMS采集程序 支持部分采集只需要兩步

POST TIME:2020-04-10 20:34

DEDECMS自帶的采集功能,雖然比不上其他專業的采集軟件,但對比其他采集程序,在性能上還是非常不錯。很多其他程序無法采集下來的網頁,使用DEDECMS可以采集得到。比如58同城首頁,使用discuz的下載函數采集過來的都是一片空白或者警告內容,但是使用dedecms的下載完全可以下載下來。

  DEDE采集程序原理

  DEDECMS的采集原理很簡單: 通過PHP程序socket模擬HTTP請求,下載整張網頁的HTML。不過這里面有一個不足之處——不支持部分采集。如果我們僅僅要獲得對方網頁的標題,卻下載了整張網頁。一兩張無所謂,但是大量的下載就會擠占服務器資源和帶寬。比如商務大陸網35dalucom的分類信息網站大全,該頻道含有600多分類信息網站,網站程序后臺自動定期獲取這些網站的標題,以判斷這些網站是否可以正常打開,內容是否發生改變。如果使用dede的程序,直接默認下載整張網頁而不是僅網頁HTML頭部部分,長期下去可想而知會擠占多少服務器資源。此時我們此處僅僅需要獲得對方網頁的標題而已。

  修改文件dedehttpdown.class.php

  要讓DEDECMS實現部分采集的功能非常簡單,只需要修改采集程序文件dedehttpdown.class.php 中的2個地方即可。使用notepad++或者dreamweaver 打開 /include/dedehttpd.class.php:

  (1)第118行 $this->m_html = '';背后加入$this->dataLimit = 0;

  (2)第 285行$this->m_html .= fgets($this->m_fp,256); 背后加入 if($this->dataLimit > 0 && strlen($this->m_html) > $this->dataLimit) break; 保存即可。

  使用方法:

  $remoteURL = ‘http://www.***.com/info/fabu/’;

  $dh = new DedeHttpDown();

  $dh->OpenUrl($remoteURL);

  $dh->dataLimit = 1024;

  $remoteHTML = $dh->GetHtml();

  我們只需要在 $dh->OpenUrl($remoteURL);背后加入 $dh->dataLimit = 1024;(你想采集的字節大小)即可。  通過這樣的方法,我們可以更節約服務器資源。本文出自www.35dalu.com商務大陸網分類信息平臺,轉載請保留作者鏈接,謝謝。



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
主站蜘蛛池模板: 内江市| 察雅县| 临海市| 古蔺县| 江川县| 长武县| 沅江市| 潼关县| 兴山县| 朝阳区| 石嘴山市| 郓城县| 长海县| 广丰县| 嵊泗县| 武乡县| 玉树县| 合川市| 张家港市| 莱阳市| 汤原县| 镇宁| 密山市| 比如县| 从江县| 杭州市| 斗六市| 柞水县| 无极县| 寿宁县| 彝良县| 德清县| 河南省| 北安市| 安顺市| 威宁| 剑川县| 繁峙县| 同心县| 称多县| 泾阳县|