4

我在尝试使用 CURL 或 file_get_contents 提取第 3 方文件内容时遇到了一些奇怪的行为,读取了页面的部分内容,但它停在了随机位置……虽然没有错误(超时等)。

如果我给出完整的例子,可能最容易看到!:

使用以下非常基本的脚本来读取完整的 URL 并返回内容工作得很好,页面的全部内容(少一些外部 css 等)在一两秒内:

<?php    
set_time_limit(180);
$page = file_get_contents('http://www.fantasyleague.com/Classic/Stats/playerlist.aspx?dpt=3');
echo $page;
?>

但是,如果我们更改为

<?php    
set_time_limit(180);
$page = file_get_contents('http://www.fantasyleague.com/Classic/Stats/playerlist.aspx?dpt=4');
echo $page;
?>

它需要很长时间才能运行,并最终返回页面的一部分,但不是全部。它并不一致,但通常以“A Westwood AV 3.6 12”或“show”结尾,在页面稍远一点的地方。

如果您查看这两个 URL,您会发现它们基本相同。而且这种行为刚刚开始发生,直到一两天前,两者都运行良好。

有任何想法吗?我可以提供我错过的任何进一步信息!

编辑:

文件完成位置的示例...原始文件包含:

<div class="right">
    <a id="Playerlist_help_button" class="button left" href="#"><div>Show help</div></a>
    <a id="Playerlist_filters_button" class="button left" href="#"><div>Show filters</div></a>
    <a class="button left" href="PlayerListPrintable.aspx" target="_blank"><div>Printable Version</div></a>
    <br class="clear" />
</div>

但检索到的数据停在:

<div class="right">
    <a id="Playerlist_help_button" class="button left" href="#"><div>Show help</div></a>
    <a id="Playerlist_filters_button" class="button left" href="#"><div>Show 

或者它经常失败的另一个地方是:

        <td><div class="chilli normal" /></td>


        <td>12</td>


        <td>0</td>

变成:

        <td><div class="chilli normal" /></td>


        <td>12</td>
4

1 回答 1

0

通过 file_get_contents 或 curl 一次只能获取 html 源代码,但不能获取所有组件

于 2013-01-02T14:09:26.200 回答