当前位置:Gxlcms > PHP教程 > 这个问题CSDN不能搞定就没人可以搞定了

这个问题CSDN不能搞定就没人可以搞定了

时间:2021-07-01 10:21:17 帮助过:20人阅读

本人做了一个采集。 在本地测试,可以正常采集。

放在服务器上,也可以采集。 但是。。。。

目标站,内容更新后,,,服务器上,要过 好几个小时才能采。 (有时要隔一天)

而本地,不用等,只要目标站有数据,就可以采到。


感觉就像采数据的时候,网页没有刷新一样。




是 服务器 问题? 还是程序不够好?(程序上,每次刷新的时候,都是重新载入页面! ,还加了 随机字符),给公司的技术也看过了,都说程序没问题


我问了空间商,他说要我报错过去, 我怎么报? 请高手中的高手帮忙解决!

到底是什么问题?


回复讨论(解决方案)

你是如何控制采集程序工作的?



你Q多少,我联系你。。

QQ288801 谢谢 帮我 看下

2888801 刚才少了一个 8

QQ288801 谢谢 帮我 看下
CSDN最忌讳留QQ了。有问题就请在贴子里说。能帮的大家会帮助你的。。

对程序 我也不是 很清楚, 。。但问了 搞技术的 同事,程序没问题 所以想让 高手 帮我 看看程序

你可以把采集部分的代码贴出来。

if($_GET["action"]=="cai")
{
$PageUrl = "http://www.xxxxx.com/?id=".time();
$Pagecontent = file_get_contents($PageUrl);

$start = strpos($Pagecontent,"");
$EndHtml = strpos($Pagecontent,"");
$lenHtml = $EndHtml - $start;
$Pagecontent = substr($Pagecontent,$start,$lenHtml);

$HtmlAll = "";

preg_match_all('/(.*?)<\/a>/',$Pagecontent,$UrlList);
for($i=sizeof($UrlList[2]);$i>=0;$i--){
$InUrl = "http://www.zhibo8.com".$UrlList[2][$i];
$TermDay = $_POST["txtdate"];

//$HtmlAll = $HtmlAll.$InUrl."-----".$TermDay."\r\n";

if(strstr($InUrl,$TermDay) && strstr($InUrl,"nba"))
{


$InContent = file_get_contents($InUrl);

//$start1 = strpos($InContent,"");
//$EndHtml1 = strpos($InContent,"");
//$lenHtml1 = $EndHtml1 - $start1;
//$InContent = substr($InContent,$start1,$lenHtml1);

preg_match('/(.*?)<\/title>/',$InContent,$Title); <br /> <br /> <br /> $Cstart = strpos($InContent,""); <br /> $Cend = strpos($InContent,"<!-- JiaThis Button BEGIN -->"); <br /> $Lcontent = $Cend - $Cstart; <br /> $Content = substr($InContent,$Cstart,$Lcontent); </p> <p class="sougouAnswer"> if($_GET["action"]=="cai") <br /> { <br /> $PageUrl = "http://www.zhibo8.com/?id=".time(); <br /> $Pagecontent = file_get_contents($PageUrl); <br /> <br /> $start = strpos($Pagecontent,""); <br /> $EndHtml = strpos($Pagecontent,""); <br /> $lenHtml = $EndHtml - $start; <br /> $Pagecontent = substr($Pagecontent,$start,$lenHtml); <br /> <br /> $HtmlAll = ""; <br /> <br /> preg_match_all('/(.*?)<\/a>/',$Pagecontent,$UrlList); <br /> for($i=sizeof($UrlList[2]);$i>=0;$i--){ <br /> $InUrl = "http://www.zhibo8.com".$UrlList[2][$i]; <br /> $TermDay = $_POST["txtdate"]; <br /> <br /> //$HtmlAll = $HtmlAll.$InUrl."-----".$TermDay."\r\n"; <br /> <br /> if(strstr($InUrl,$TermDay) && strstr($InUrl,"nba")) <br /> { <br /> <br /> <br /> $InContent = file_get_contents($InUrl); <br /> <br /> //$start1 = strpos($InContent,""); <br /> //$EndHtml1 = strpos($InContent,""); <br /> //$lenHtml1 = $EndHtml1 - $start1; <br /> //$InContent = substr($InContent,$start1,$lenHtml1); <br /> <br /> preg_match('/<title>(.*?)<\/title>/',$InContent,$Title); <br /> <br /> <br /> $Cstart = strpos($InContent,""); <br /> $Cend = strpos($InContent,"<!-- JiaThis Button BEGIN -->"); <br /> $Lcontent = $Cend - $Cstart; <br /> $Content = substr($InContent,$Cstart,$Lcontent); </p> <p class="sougouAnswer"> 你服务器是固定IP,人家早把你的IP列入黑名单了。。。 </p> <p class="sougouAnswer"> 为什么 有时 可以采? </p> <p class="sougouAnswer"> 其实 现在也可以采,但是最新的 内容 采不了。要等, 而本地 不用等 另外,主页昨天显示的内容,今不显示。但 我还可以采到 昨天的,好像 就是 我们看网页 没有刷新一样 </p> <p class="sougouAnswer"> 服务器有缓存? </p> <p class="sougouAnswer"> 应该是ip被禁了 </p> <p class="sougouAnswer"> ip被禁了 我无法理解,,被禁了 就无法采了。服务器有缓存? 我也是这样想的,可程序上做好了这方面的工作。 也不太可能了 </p> <p class="sougouAnswer"> 其实 现在也可以采,但是最新的 内容 采不了。要等, 而本地 不用等 另外,主页昨天显示的内容,今不显示。但 我还可以采到 昨天的,好像 就是 我们看网页 没有刷新一样 <br /> <br /> 对方将你的服务器ip放入黑名单,并且并不是直接禁止访问,而是让你访问他的旧数据。这就解释了你所有的问题 <br /> <br /> </p> <p class="sougouAnswer"> 所以忽悠你让你蛋痛的想半天 四处求救,也就达到了他们的目的了。哈哈哈 </p> <p class="sougouAnswer"> 对方肯定是把你的ip列入黑名单了,你可以用adsl的连接方式,定时重连网络,这样你反复更换ip,对方服务器就应付不过来了,给你一段定时重连adsl的脚本 <br /> <pre class="sycode" name="code">$i=1;while(true){ sleep(120); if(cutNet()){ sleep(10); if(connectNet()) { echo "成功连接 " .$i." 次\r\n"; } else { echo "未连接 \r\n"; } } else { echo "未成功断开连接\r\n"; } $i++;}/** * ADSL拨号 */function connectNet($cNum=0){ exec("rasdial.exe ADSL adsl_name adsl_pwd",$out1,$ars1); print_r($out1); if (preg_match('/已连接 ADSL/',$out1[3]) or preg_match('/已连接 ADSL/',$out1[4])) { return true; }else{ return false; }}function cutNet(){ if(isConnect()){ exec("Rasdial ADSL /disconnect",$out1,$ars1);//断线 if (preg_match('/已完成/',$out1[0])) { return true; } else { return false; } } else { return true; }}function isConnect(){ exec("Rasdial",$out1,$ars1);//断线 if($out1['0']=='没有连接'){ echo "没有找到连接。。。\r\n"; return false; } return true;}</pre> </p> <p class="sougouAnswer"> 服务器固定IP怎么用ADSL? <br /> 用代理吧 <br /> 对方肯定是把你的ip列入黑名单了,你可以用adsl的连接方式,定时重连网络,这样你反复更换ip,对方服务器就应付不过来了,给你一段定时重连adsl的脚本 <br /> <br /> PHP code <br /> <br /> <br /> <br /> $i=1; <br /> while(true) <br /> { <br /> sleep(120); <br /> if(cutNet()){ <br /> sleep(10); <br /> if(connectNet()) <br /> …… </p> <p class="sougouAnswer"> 我是 虚拟主机。 日本的IP... 第一次 在这个服务器上 做采集。。。他就知道? <br /> <br /> 还有就是 虚拟主机 上 要怎么代理? </p> <p class="sougouAnswer"> 我是 虚拟主机。 日本的IP... 第一次 在这个服务器上 做采集。。。他就知道? <br /> <br /> 还有就是 虚拟主机 上 要怎么代理? <br /> <br /> 采集多少次知道 这个不是必然的。 <br /> 你是虚拟主机你也不能保证你的主机上是否有其他人采集过,或者这个ip以前是否采集过 <br /> <br /> 最后一个,检查你的虚拟主机时间,如果采集程序有用到时间函数,如果存在时差也可能会产生问题。 <br /> </p> <p class="sougouAnswer"> 我是 虚拟主机。 日本的IP... 第一次 在这个服务器上 做采集。。。他就知道? <br /> <br /> 还有就是 虚拟主机 上 要怎么代理? <br /> <br /> 刚刚要求 服务器换了IP 还是一样的问题。。。看来 可能是时间差、那有什么办法吗? </p> <p class="sougouAnswer"> function isConnect() <br /> { <br /> exec("Rasdial",$out1,$ars1);//断线 <br /> if($out1['0']=='没有连接'){ <br /> echo "没有找到连接。。。\r\n"; <br /> return false; <br /> } <br /> return true; <br /> } <br /> <br /> </p> <p class="sougouAnswer"> 从描述来看,你的本机和你的服务器,不是在一个地区的吧?我是指省市地区。 <br /> <br /> 那么也有可能是CDN导致的,不同的省市运营商,虽然访问同一个域名,但访问的主机和内容会出现不一致的情况,CDN的同步需要时间。 <br /> <br /> 想解决这个问题,在你的本地搞个服务器就行了。 <br /> </p> <p class="sougouAnswer"> 从描述来看,你的本机和你的服务器,不是在一个地区的吧?我是指省市地区。 <br /> <br /> 那么也有可能是CDN导致的,不同的省市运营商,虽然访问同一个域名,但访问的主机和内容会出现不一致的情况,CDN的同步需要时间。 <br /> <br /> 想解决这个问题,在你的本地搞个服务器就行了。 <br /> <br /> 也就是 换个服务器 是吗? </p> <p class="sougouAnswer"> 要采集国内的站点,不管从哪个角度说都适合使用国内的主机.再烂也不能烂过功夫墙外的机房了. <br /> 好歹咱们也是个局域网啊 <br /> <br /> 引用 27 楼 的回复: <br /> 从描述来看,你的本机和你的服务器,不是在一个地区的吧?我是指省市地区。 <br /> <br /> 那么也有可能是CDN导致的,不同的省市运营商,虽然访问同一个域名,但访问的主机和内容会出现不一致的情况,CDN的同步需要时间。 <br /> <br /> 想解决这个问题,在你的本地搞个服务器就行了。 <br /> <br /> <br /> 也就是 换个服务器 是吗? </p> <p class="sougouAnswer"> 从描述来看,你的本机和你的服务器,不是在一个地区的吧?我是指省市地区。 <br /> <br /> 那么也有可能是CDN导致的,不同的省市运营商,虽然访问同一个域名,但访问的主机和内容会出现不一致的情况,CDN的同步需要时间。 <br /> <br /> 想解决这个问题,在你的本地搞个服务器就行了。 <br /> <br /> 是CDN导致 的问题 原来 电的速度不怎么快 </p> <p class="sougouAnswer"> 谢谢,,再次想到了这里 </div> <div class=""> <ul class="m-news-opt fix"> <li class="opt-item"> <a href='/PHPjiqiao-145396.html' target='_blank'><p>< 上一篇</p><p class="ellipsis">怎么获取这个js的值</p></a> </li> <li class="opt-item ta-r"> <a href='/PHPjiqiao-145398.html' target='_blank'><p>下一篇 ></p><p class="ellipsis">为什么没找到id</p></a> </li> </ul> </div> </div> </div> <div class="g-title fix"> <h2 class="title-txt">人气教程排行</h2> </div> <div class="m-rank u-dashed mb40"> <ul> <li class="rank-item"> <a href="/PHPjiqiao-379253.html" title='php如何获取跳转前的url' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num top">1</span> php如何获取跳转前的url </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-379019.html" title='php格林威治时间转换成当前时间的方法' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num second">2</span> php格林威治时间转换成当前时间的方法 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-366629.html" title='为什么php不能做大型系统?' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num third">3</span> 为什么php不能做大型系统? </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-207623.html" title='range函数怎么用' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">4</span> range函数怎么用 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-162433.html" title='php中计算页面加载时间几种方法总结_PHP教程' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">5</span> php中计算页面加载时间几种方法总结_PHP教程 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-140221.html" title='求帮助,关于paypal支付返回值修改订单状态' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">6</span> 求帮助,关于paypal支付返回值修改订单状态 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-103588.html" title='typecho怎么配置文章内容页?' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">7</span> typecho怎么配置文章内容页? </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-99213.html" title='PhpStorm左侧structure不显示文件的方法列表是这么回事?' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">8</span> PhpStorm左侧structure不显示文件的方法列表是这么回事? </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-92208.html" title='查看PHP的环境变量_PHP' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">9</span> 查看PHP的环境变量_PHP </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-170.html" title='PHP Primary script unknown 解决方法总结' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">10</span> PHP Primary script unknown 解决方法总结 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-148.html" title='php的命名空间与自动加载实现方法' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">11</span> php的命名空间与自动加载实现方法 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-133.html" title='解决laravel 出现ajax请求419(unknown status)的问题' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">12</span> 解决laravel 出现ajax请求419(unknown status)的问题 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-462817.html" title='php 如何删除mysql记录' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">13</span> php 如何删除mysql记录 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-388448.html" title='PHP如何替换数组中的指定元素' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">14</span> PHP如何替换数组中的指定元素 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-124270.html" title='怎么去除字符串中非汉字、非字母、非数字的字符' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">15</span> 怎么去除字符串中非汉字、非字母、非数字的字符 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-112291.html" title='mysql如何一次执行多条SQL语句' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">16</span> mysql如何一次执行多条SQL语句 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-110669.html" title='修改header里面的Connection为close解决方法' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">17</span> 修改header里面的Connection为close解决方法 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-153.html" title='PHP基于session.upload_progress 实现文件上传进度显示功能详解' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">18</span> PHP基于session.upload_progress 实现文件上传进度显示功能详解 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-125.html" title='php5.6.x到php7.0.x特性小结' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">19</span> php5.6.x到php7.0.x特性小结 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-378118.html" title='php为什么会出现504错误' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">172次</span> <span class="g-sort-num ">20</span> php为什么会出现504错误 </a> </li> </ul> </div> </div> </div> <!-- / 教程内容页 --> </div> </div> <!-- 页尾 --> <div class="footer"> 本站所有资源全部来源于网络,若本站发布的内容侵害到您的隐私或者利益,请联系我们删除!</div> <!-- / 页尾 --> <script type="text/javascript" src="/kan/js/read.js"></script> <div style="display:none"> <div class="login-box" id="login-dialog"> <div class="login-top"><a class="current" rel="nofollow" id="login1" onclick="setTab('login',1,2);" >登录</a></div> <div class="login-form" id="nav-signin"> <!-- <div class="login-ico"><a rel="nofollow" class="qq" id="qqlogin" target="_blank" href="/user-center-qqlogin.html"> QQ </a></div> --> <div class="login-box-form" id="con_login_1"> <form id="loginform" action="/user-center-login.html" method="post" onsubmit="return false;"> <p class="int-text"> <input class="email" id="username" name="username" type="text" value="用户名或Email" onfocus="if(this.value=='用户名或Email'){this.value='';}" onblur="if(this.value==''){this.value='用户名或Email';};" ></p> <p class="int-text"> <input class="password1" type="password" id="password" name="password" value="******" onBlur="if(this.value=='') this.value='******';" onFocus="if(this.value=='******') this.value='';" > </p> <p class="int-info"> <label class="ui-label"> </label> <label for="agreement" class="ui-label-checkbox"> <input type="checkbox" value="" name="cookietime" id="cookietime" checked="checked" value="2592000"> <input type="hidden" name="notforward" id="notforward" value="1"> <input type="hidden" name="dosubmit" id="dosubmit" value="1">记住我的登录 </label> <a rel="nofollow" class="aright" href="/user-center-forgetpwd.html" target="_blank"> 忘记密码? </a></p> <p class="int-btn"><a rel="nofollow" id="loginbt" class="loginbtn"><span>登录</span></a></p> </form> </div> <form id="regform" action="/user-center-reg.html" method="post"> <div class="login-reg" style="display: none;" id="con_login_2"> <input type="hidden" name="t" id="t"/> <p class="int-text"> <input id="email" name="email" type="text" value="Email" onfocus="if(this.value=='Email'){this.value='';}" onblur="if(this.value==''){this.value='Email';};"></p> <p class="int-text"> <input id="uname" name="username" type="text" value="用户名或昵称" onfocus="if(this.value=='用户名或昵称'){this.value='';}" onblur="if(this.value==''){this.value='用户名或昵称';};"></p> <p class="int-text"> <input type="password" id="pwd" name="password" value="******" onBlur="if(this.value=='') this.value='******';" onFocus="if(this.value=='******') this.value='';"> </p> <p class="int-text1"><span class="inputbox"> <input id="validate" name="validate" type="text" value="验证码" onfocus="if(this.value=='验证码'){this.value='';}" onblur="if(this.value==''){this.value='验证码';};"> </span><span class="yzm-img"><img src="/user-checkcode-index" alt="看不清楚换一张" id="indexlogin"></p> <p class="int-info"> <label> <input value="" name="agreement" id="agreement" CHECKED="checked" type="checkbox"> 我已阅读<a rel="nofollow" href="/user-center-agreement.html">用户协议</a>及<a rel="nofollow" href="/user-center-agreement.html">版权声明</a></label> </p> <p class="int-btn"><input type="hidden" name="dosubmit"/> <a rel="nofollow" class="loginbtn" id="register"><span>注册</span></a></p> </div> </form> </div> </div> </div> </div> <script type="text/javascript" src="/kan/js/foot_js.js"></script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?6dc1c3c5281cf70f49bc0bc860ec24f2"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script type="text/javascript" src="/layui/layui.js"></script> <script> layui.use('code', function() { layui.code({ elem: 'pre', //默认值为.layui-code about: false, skin: 'notepad', title: 'php怎么实现数据库验证跳转代码块', encode: true //是否转义html标签。默认不开启 }); }); </script> </body> </html>