我无法使用 while true 进行分页,无法正常工作
I can't do pagination with while true, not working properly
我正在尝试转到下一页并为此编写了 while(true)
循环,但无法正常工作。没有给我任何错误或任何东西。
这是网站link:https://suumo.jp/ms/shinchiku/osaka/sa_osaka/pnz11.html我正在尝试为分页添加 +1
$startID = 1;
while(true) {
@$url = "https://suumo.jp/ms/shinchiku/osaka/sa_osaka/pnz1".$startID.".html";
$html = @file_get_contents($url);
if($http_response_header[0] == 'HTTP/1.1 200 OK') {
libxml_use_internal_errors(true);
$parser = new \DOMDocument();
$parser->loadHTML($html);
代码结束。
$a = $startID+1;
} else {
$this->error("Next page is not found!");
}
顺便说一句,我抓取第一页没有问题。但它不会转到下一页。知道为什么会这样吗?
你没有增加 $startID
你有 $a=$startID+1
。所以循环的每次迭代 $startID
都等于 1。要修复它,您需要使用以下任一方法将其添加到自身:
$startID += 1;
//or
++$startID;
//or (if you really need $a)
$a = $startID += 1;
并更改此:
} else {
$this->error("Next page is not found!");
break; //exit the loop
}
我应该提到 for(;;)
大致相当于 while(true)
所以这个:
for($startID=1;;++$startID){ ... }
大致相当于这一切:
$startID = 1;
while(true){
++$startID;
}
除了我认为它更漂亮。我觉得很多程序员忽略了 PHP 中的 for
,参数实际上也是可选的。
尽情享受吧。
我正在尝试转到下一页并为此编写了 while(true)
循环,但无法正常工作。没有给我任何错误或任何东西。
这是网站link:https://suumo.jp/ms/shinchiku/osaka/sa_osaka/pnz11.html我正在尝试为分页添加 +1
$startID = 1;
while(true) {
@$url = "https://suumo.jp/ms/shinchiku/osaka/sa_osaka/pnz1".$startID.".html";
$html = @file_get_contents($url);
if($http_response_header[0] == 'HTTP/1.1 200 OK') {
libxml_use_internal_errors(true);
$parser = new \DOMDocument();
$parser->loadHTML($html);
代码结束。
$a = $startID+1;
} else {
$this->error("Next page is not found!");
}
顺便说一句,我抓取第一页没有问题。但它不会转到下一页。知道为什么会这样吗?
你没有增加 $startID
你有 $a=$startID+1
。所以循环的每次迭代 $startID
都等于 1。要修复它,您需要使用以下任一方法将其添加到自身:
$startID += 1;
//or
++$startID;
//or (if you really need $a)
$a = $startID += 1;
并更改此:
} else {
$this->error("Next page is not found!");
break; //exit the loop
}
我应该提到 for(;;)
大致相当于 while(true)
所以这个:
for($startID=1;;++$startID){ ... }
大致相当于这一切:
$startID = 1;
while(true){
++$startID;
}
除了我认为它更漂亮。我觉得很多程序员忽略了 PHP 中的 for
,参数实际上也是可选的。
尽情享受吧。