我用PHP开发了一个Web scraper,我遇到了数据处理速度慢的问题。当我加载网页时,我收到了太多不必要的数据。 有没有办法收到整个页面但只收件?特定的HTML标签及其内容?
现在我有这样的代码:
$html = file_get_html('http://www.google.com/');
$title = $html->find('title', 0);
$image = $html->find('img', 0);
echo $title->plaintext."<br>\n";
echo $image->src;
?>
答案 0 :(得分:0)
低数据处理速度的问题
真的? IME DOM解析器工作得很好。 假设你已经确认这是你的困境的原因,那么有3个明显的解决方案:
虽然HTTP支持范围查询(即您只能获取页面的一部分),但您不知道标记块与字节流的对齐位置 - 因此您不能只获取页面的一部分。
OTOH如果您还没有费心去检查问题是否与代码执行有关,那么它更可能是网络延迟出现缓慢;你没有告诉我们你是如何获取页面的,你没有向我们展示任何检索内容的代码(在本机PHP中有“file_get_html”)。
如果问题实际上是延迟,那么解决方案是运行批处理以一次异步提取多个页面 - 使用curl_multi_exec。