0

所以我使用PHP Simple HTML DOM Parser来获取网页的内容。在我知道我所做的是对的之后,我仍然得到了没有什么可以找到的错误。

所以这就是我用来查看是否有任何实际被捕获的东西:

<?php
include_once('simple_html_dom.php');

error_reporting(E_ALL);
ini_set('display_errors', '1');

$first_url = "http://www.transfermarkt.co.uk/en/chinese-super-league/startseite/wettbewerb_CSL.html"; // works

$html = file_get_html($first_url);
echo "<textarea>Output\n===========\n $html</textarea><br /><br />";

$second_url = "http://www.transfermarkt.co.uk/en/chinese-super-league/torschuetzen/wettbewerb_CSL.html"; // does not work?

$html = file_get_html($second_url);
echo "<textarea>Output\n===========\n $html</textarea><br />";
?>

没有错误。第二个文本区域中没有任何内容。第二个 URL 似乎没有被工具刮掉……为什么?

4

2 回答 2

2

simple_php_dom.php contains:

define('MAX_FILE_SIZE', 600000);
...
if (empty($contents) || strlen($contents) > MAX_FILE_SIZE)
{
    return false;
}

The second page is over 672000 bytes, so this size check fails. Increase that constant and you should be OK.

于 2013-05-16T05:21:19.137 回答
0

我测试了你的问题,它工作正常。您必须检查 php 内存限制,这可能是问题所在

增加您的 PHP 内存限制,然后重试

<?php 

//use this to increase memory limit
ini_set('memory_limit', '200M');

$second_url = "http://www.transfermarkt.co.uk/en/chinese-super-league/torschuetzen/wettbewerb_CSL.html"; // does not work?

$html = file_get_contents($second_url);
echo "<textarea>Output\n===========\n $html</textarea><br />";
于 2013-05-16T05:05:30.443 回答