如何让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
RAKsmart怎么样?RAKsmart香港机房新增了付费的DDoS高防保护服务,香港服务器默认接入20Mbps的大陆优化带宽(电信走CN2、联通和移动走BGP)。高防服务器需要在下单页面的IP Addresses Option里面选择购买,分:40Gbps大陆优化高防IP-$461/月、100Gbps国际BGP高防IP-$692/月,有兴趣的可以根据自己的需求来选择!点击进入:RAKsmart官...
ucloud云服务器怎么样?ucloud为了扩大云服务器市场份额,给出了超低价云服务器的促销活动,活动仍然是此前的Ucloud全球大促活动页面。目前,ucloud国内云服务器2元/月起;香港云服务器4元/首月;台湾云服务器3元/首月。相当于2-4元就可以试用国内、中国香港、中国台湾这三个地域的云服务器1个月了。ucloud全球大促仅限新用户,国内云服务器个人用户低至56元/年起,香港云服务器也仅8...
这不端午节和大家一样回家休息几天,也没有照顾网站的更新。今天又出去忙一天没有时间更新,这里简单搜集看看是不是有一些商家促销活动,因为我看到电商平台各种推送活动今天又开始一波,所以说现在的各种促销让人真的很累。比如在前面我们也有看到PacificRack 商家发布过年中活动,这不在端午节(昨天)又发布一款闪购活动,有些朋友姑且较多是端午节活动,刚才有看到活动还在的,如果有需要的朋友可以看看。第一、端...