PHP获取网页内容

时间:2013-05-16 04:54:57

标签: php parsing dom html-parsing simple-html-dom

所以我使用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似乎没有被工具刮掉......为什么?

2 个答案:

答案 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 />";