Simplehtmldom - 限制 get_html 的内容大小?
Simplehtmldom - limit content size for get_html?
我正在使用 simplehtmldom 获取一些链接的标题,想知道是否可以限制下载内容的大小?无需下载全部内容,只需前 20 行代码即可获得标题。
现在我正在使用这个:
$html = file_get_html($row['current_url']);
$e = $html->find('title', 0);
$title = $e->innertext;
echo $e->innertext . '<br><br>';
谢谢
除非我遗漏了什么,否则 file_get_html 不是这样工作的。它将检索页面的内容。
换句话说,它必须阅读整个页面才能找到下一部分要查找的内容。
现在,如果您要使用:
$section = file_get_contents('http://www.the-URL.com/', NULL, NULL, 0, 444);
您可能可以隔离 html 的前 20 行,只要您获得的页面从 <!DOCTYPE html>
到 </head><body>
或 [=16] 始终相同=].
然后只要Head的数量相同,就可以再次抓取前20行左右。
然后使用:
$html = str_get_html($section);
然后从那里使用你的'Find'
$html->find('title', 0);
编辑:
include('simple_html_dom.php');
$the_url = 'http://www.the-URL.com/';
// Read 444 characters starting from the 1st character
$section = file_get_contents($the_url, NULL, NULL, 0, 444);
$html = str_get_html($section);
if (!$e = $html->find('title', 0)) {
// Read 444 characters starting from the 445th character
$section = file_get_contents($the_url, NULL, NULL, 444, 888);
$html = str_get_html($section);
$e = $html->find('title', 0);
}
$title = $e->innertext;
echo $title . '<br><br>';
我正在使用 simplehtmldom 获取一些链接的标题,想知道是否可以限制下载内容的大小?无需下载全部内容,只需前 20 行代码即可获得标题。
现在我正在使用这个:
$html = file_get_html($row['current_url']);
$e = $html->find('title', 0);
$title = $e->innertext;
echo $e->innertext . '<br><br>';
谢谢
除非我遗漏了什么,否则 file_get_html 不是这样工作的。它将检索页面的内容。
换句话说,它必须阅读整个页面才能找到下一部分要查找的内容。
现在,如果您要使用:
$section = file_get_contents('http://www.the-URL.com/', NULL, NULL, 0, 444);
您可能可以隔离 html 的前 20 行,只要您获得的页面从 <!DOCTYPE html>
到 </head><body>
或 [=16] 始终相同=].
然后只要Head的数量相同,就可以再次抓取前20行左右。
然后使用:
$html = str_get_html($section);
然后从那里使用你的'Find'
$html->find('title', 0);
编辑:
include('simple_html_dom.php');
$the_url = 'http://www.the-URL.com/';
// Read 444 characters starting from the 1st character
$section = file_get_contents($the_url, NULL, NULL, 0, 444);
$html = str_get_html($section);
if (!$e = $html->find('title', 0)) {
// Read 444 characters starting from the 445th character
$section = file_get_contents($the_url, NULL, NULL, 444, 888);
$html = str_get_html($section);
$e = $html->find('title', 0);
}
$title = $e->innertext;
echo $title . '<br><br>';