如何让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
Dataideas是一家2019年成立的国外VPS主机商,提供基于KVM架构的VPS主机,数据中心在美国得克萨斯州休斯敦,主机分为三个系列:AMD Ryzen系列、Intel Xeon系列、大硬盘系列,同时每个系列又分为共享CPU和独立CPU系列,最低每月1.5美元起。不过需要注意,这家没有主页,你直接访问根域名是空白页的,还好他们的所有套餐支持月付,相对风险较低。下面以Intel Xeon系列共...
今天父亲节我们有没有陪伴家人一起吃个饭,还是打个电话问候一下。前一段时间同学将网站账户给我说可以有空更新点信息确保他在没有时间的时候还能保持网站有一定的更新内容。不过,他这个网站之前采用的主题也不知道来源哪里,总之各种不合适,文件中很多都是他多年来手工修改的主题拼接的,并非完全适应WordPress已有的函数,有些函数还不兼容最新的PHP版本,于是每次出现问题都要去排查。于是和他商量后,就抽时间把...
天上云怎么样?天上云隶属于成都天上云网络科技有限公司,是一家提供云服务器及物理服务器的国人商家,目前商家针对香港物理机在做优惠促销,香港沙田机房采用三网直连,其中电信走CN2,带宽为50Mbps,不限制流量,商家提供IPMI,可以自行管理,随意安装系统,目前E3-1225/16G的套餐低至572元每月,有做大规模业务的朋友可以看看。点击进入:天上云官方网站天上云香港物理机服务器套餐:香港沙田数据中...