如何让DEDECMS支持部分采集
如何让DEDECMS支持部分采集
D ED E CM S自带的采集功能虽然比不上其他专业的采集软件但对比其他采集程序在性能上还是非常不错。很多其他程序无法采集下来的网页使用DEDECMS可以采集得到。 比如58同城首页使用discuz的下载函数采集过来的都是一片空白或者警告内容但是使用dedecms的下载完全可以下载下来。
D ED E采集程序原理
DEDECMS的采集原理很简单 通过PHP程序socket模拟HTTP请求下载整张网页的HTML。不过这里面有一个不足之处——不支持部分采集。如果我们仅仅要获得对方网页的标题却下载了整张网页。一两张无所谓但是大量的下载就会挤占服务器资源和带宽。 比如商务大陆网35dalucom的分类信息网站大全该频道含有600多分类信息网站 网站程序后台自动定期获取这些网站的标题 以判断这些网站是否可以正常打开 内容是否发生改变。如果使用dede的程序直接默认下载整张网页而不是仅网页HTML头部部分长期下去可想而知会挤占多少服务器资源。此时我们此处仅仅需要获得对方网页的标题而已。
修改文件dedehttpdown.class.php
要让D E D E CM S实现部分采集的功能非常简单 只需要修改采集程序文件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-& gt;m_fp,256) ;背后加入if($this->dataLimit > 0 && strlen($this->m_html) > $this->dataLimit) break;保存即可。
使用方法
$remoteURL = ‘http://www.35dalu. com/info/fabu/’ ;
$dh = new DedeHttpDown() ;
$dh->OpenUrl ($remoteURL) ;
$dh->dataLimit = 1024;
$remoteHTML = $dh->GetHtml() ;
我们只需要在$dh->OpenUrl ($remoteURL) ;背后加入$dh->dataLimit =1024; (你想采集的字节大小即可。 通过这样的方法我们可以更节约服务器资源。 by 35dalu.com
腾讯云轻量应用服务器又要免费升级配置了,之前已经免费升级过一次了(腾讯云轻量应用服务器套餐配置升级 轻量老用户专享免费升配!),这次在上次的基础上再次升级。也许这就是良心云吧,名不虚传。腾讯云怎么样?腾讯云好不好。腾讯云轻量应用服务器 Lighthouse 是一种易于使用和管理、适合承载轻量级业务负载的云服务器,能帮助个人和企业在云端快速构建网站、博客、电商、论坛等各类应用以及开发测试环境,并提供...
racknerd当前对美国犹他州数据中心的大硬盘服务器(存储服务器)进行低价促销,价格跌破眼镜啊。提供AMD和Intel两个选择,默认32G内存,120G SSD系统盘,12个16T HDD做数据盘,接入1Gbps带宽,每个月默认给100T流量,5个IPv4... 官方网站:https://www.racknerd.com 加密数字货币、信用卡、PayPal、支付宝、银联(卡),可以付款! ...
Sharktech又称SK或者鲨鱼机房,是一家主打高防产品的国外商家,成立于2003年,提供的产品包括独立服务器租用、VPS云服务器等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等。之前我们经常分享商家提供的独立服务器产品,近期主机商针对云虚拟服务器(CVS)提供优惠码,优惠后XS套餐年付最低仅33.39美元起,支持使用支付宝、PayPal、信用卡等付款方式。下面以XS套餐为例,分享产品配...