本人做了一个采集。 在本地测试,可以正常采集。放在服务器上,也可以采集。 但是。目标站,内容更新后,,,服务器上,要过 好几个小时才能采。 (有时要隔一天)而本地,不用等,只要目标站有数据,就可以采到。
感觉就像采数据的时候,网页没有刷新一样。
是 服务器 问题? 还是程序不够好?(程序上,每次刷新的时候,都是重新载入页面! ,还加了 随机字符),给公司的技术也看过了,都说程序没问题
我问了空间商,他说要我报错过去, 我怎么报? 请高手中的高手帮忙解决! 到底是什么问题?
感觉就像采数据的时候,网页没有刷新一样。
是 服务器 问题? 还是程序不够好?(程序上,每次刷新的时候,都是重新载入页面! ,还加了 随机字符),给公司的技术也看过了,都说程序没问题
我问了空间商,他说要我报错过去, 我怎么报? 请高手中的高手帮忙解决! 到底是什么问题?
{
$PageUrl = "http://www.xxxxx.com/?id=".time();
$Pagecontent = file_get_contents($PageUrl);
$start = strpos($Pagecontent,"<div class=\"fb_bbs\">");
$EndHtml = strpos($Pagecontent,"<div class=\"bb_bbs\">");
$lenHtml = $EndHtml - $start;
$Pagecontent = substr($Pagecontent,$start,$lenHtml);
$HtmlAll = "";
preg_match_all('/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/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,"<div id=\"body\">");
//$EndHtml1 = strpos($InContent,"<div id=\"footer\">");
//$lenHtml1 = $EndHtml1 - $start1;
//$InContent = substr($InContent,$start1,$lenHtml1);
preg_match('/<title>(.*?)<\/title>/',$InContent,$Title);
$Cstart = strpos($InContent,"<div class=\"content\">");
$Cend = strpos($InContent,"<!-- JiaThis Button BEGIN -->");
$Lcontent = $Cend - $Cstart;
$Content = substr($InContent,$Cstart,$Lcontent);
{
$PageUrl = "http://www.zhibo8.com/?id=".time();
$Pagecontent = file_get_contents($PageUrl);$start = strpos($Pagecontent,"<div class=\"fb_bbs\">");
$EndHtml = strpos($Pagecontent,"<div class=\"bb_bbs\">");
$lenHtml = $EndHtml - $start;
$Pagecontent = substr($Pagecontent,$start,$lenHtml);$HtmlAll = "";preg_match_all('/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/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,"<div id=\"body\">");
//$EndHtml1 = strpos($InContent,"<div id=\"footer\">");
//$lenHtml1 = $EndHtml1 - $start1;
//$InContent = substr($InContent,$start1,$lenHtml1);preg_match('/<title>(.*?)<\/title>/',$InContent,$Title);
$Cstart = strpos($InContent,"<div class=\"content\">");
$Cend = strpos($InContent,"<!-- JiaThis Button BEGIN -->");
$Lcontent = $Cend - $Cstart;
$Content = substr($InContent,$Cstart,$Lcontent);
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;
}
用代理吧
{
exec("Rasdial",$out1,$ars1);//断线
if($out1['0']=='没有连接'){
echo "没有找到连接\r\n";
return false;
}
return true;
}
是CDN导致 的问题 原来 电的速度不怎么快