所以我使用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 />";
?>
没有错误。第二个textarea没什么。第二个URL似乎没有被工具刮掉......为什么?
答案 0 :(得分:1)
simple_php_dom.php
包含:
define('MAX_FILE_SIZE', 600000);
...
if (empty($contents) || strlen($contents) > MAX_FILE_SIZE)
{
return false;
}
第二页超过672000字节,因此此大小检查失败。增加那个常数,你就可以了。
答案 1 :(得分: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 />";