我正在尝试从网页上阅读评分表。为了为我们的团队创建一些统计数据,我想自动将结果保存在我自己的数据库中。例如。 http://fvbw.sm-u.de/index.php?seite=game&game=568
我尝试通过PHP中的几个选项(curl,file,file_get_contents等)获取页面内容,但我总是想出一个奇怪的行为。在浏览器中查看时,实际分数显示在<div id="inhalt"></div>
容器中。但是当我通过PHP获取页面时,容器始终为空。
我的第一个想法是通过JS重新加载内容。但我找不到任何JS电话! Firebug也跟踪没有这样的活动。还没有使用CSS属性内容或其他任何内容。
有人可以告诉我那里发生了什么事吗?我怎么能通过PHP获取该页面的内容?
更新(2013-03-27 12:05):
这是我的代码,它使用与Firefox请求相同的标头。这将返回相同的不完整结果。
$curl = curl_init();
$header[] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$header[] = "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3";
$header[] = "Accept-Encoding: deflate";
$header[] = "Referer: http://fvbw.sm-u.de/index.php?seite=table&table=15";
$header[] = "Connection: keep-alive";
$header[] = "Cache-Control: max-age=0";
$header[] = "Host: fvbw.sm-u.de";
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0");
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$data = curl_exe($curl);
还有一件奇怪的事情发生了。使用HttpRequester(Firefox Addon)时,我只需输入url并执行请求即可获得正确的结果。原始请求看起来像这样
GET http://fvbw.sm-u.de/index.php?seite=game&game=571
没有标题,没有任何标题。如果我使用curl这样做,我仍然会得到不完整的页面。
答案 0 :(得分:0)
不确定此问题是否是最新的。我可以正常使用以下内容获取内容:
echo file_get_contents('http://fvbw.sm-u.de/index.php?seite=game&game=568');