【发布时间】:2015-09-07 10:05:55
【问题描述】:
我想解析一个网站,但是 我总是得到一个错误:服务故障。
无论我给出什么开始或结束字符串。 我也尝试使用其他 URL 并复制 其他为他们工作的用户的完整示例 但不适合我。我还尝试将大小增加到 20000。 但没有任何效果。
这是我的 php 脚本:
<?php
// URL, die durchsucht werden soll
$url = "http://cordis.europa.eu/project/rcn/85400_en.html";
// Zeichenfolge vor relevanten Einträgen
$startstring = "<div class='tech'><p>";
// bis zum nächsten html tag bzw. Zeichenfolge nach relevanten Einträgen
$endstring = "<";
$file = @fopen ($url,"r");
if($file)
{
echo "URL found<br>";
}
if (trim($file) == "") {
echo "Service out of order - File:".$file."<br>";
} else {
$i=0;
while (!feof($file)) {
// Wenn das File entsprechend groß ist, kann es unter Umständen
// notwendig sein, die Zahl 2000 entsprechend zu erhöhen. Im Falle
// eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.
$zeile[$i] = fgets($file,20000);
$i++;
}
fclose($file);
}
// Data filtering
for ($j=0;$j<$i;$j++) {
if ($resa = strstr($zeile[$j],$startstring)) {
$resb = str_replace($startstring, "", $resa);
$endstueck = strstr($resb, $endstring);
$resultat .= str_replace($endstueck,"",$resb);
$resultat .= "; ";
}
}
// Data output
echo ("Result = ".$resultat."<br>");
return $resultat;
感谢您的帮助。 提前致谢
编辑:找到 URL 并且文件有一个值:Resource id #3
【问题讨论】:
-
你想从网站得到什么数据??
-
我只想要简单的文字。它就像网站上的描述。如果您查看页面,它在目标下
-
$file 是一个文件句柄。你想用 trim($file) 检查什么?这将永远是空的。
-
只需检查下面的程序,它会按预期为您提供输出。
-
@ChristianMansch 你检查程序了吗
标签: php html html-parsing screen-scraping