如何让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
IT狗为用户提供 在线ping、在线tcping、在线路由追踪、域名被墙检测、域名被污染检测 等实用工具。【工具地址】https://www.itdog.cn/【工具特色】1、目前同类网站中,在线ping 仅支持1次或少量次数的测试,无法客观的展现目标服务器一段时间的网络状况,IT狗Ping工具可持续的进行一段时间的ping测试,并生成更为直观的网络质量柱状图,让用户更容易掌握服务器在各地区、各线...
buyvm的第四个数据中心上线了,位于美国东南沿海的迈阿密市。迈阿密的VPS依旧和buyvm其他机房的一样,KVM虚拟,Ryzen 9 3900x、DDR4、NVMe、1Gbps带宽、不限流量。目前还没有看见buyvm上架迈阿密的block storage,估计不久也会有的。 官方网站:https://my.frantech.ca/cart.php?gid=48 加密货币、信用卡、PayPal、...
CUBECLOUD(魔方云)成立于2016年,亚太互联网络信息中心(APNIC)会员,全线产品均为完全自营,专业数据灾备冗余,全部产品均为SSD阵列,精品网络CN2(GIA) CU(10099VIP)接入,与当今主流云计算解决方案保持同步,为企业以及开发者用户实现灵活弹性自动化的基础设施。【夏日特促】全场产品88折优惠码:Summer_2021时间:2021年8月1日 — 2021年8月8日香港C...