我一直在使用正则表达式在 PHP 中进行一些 HTML 抓取。这行得通,但结果是挑剔和脆弱的。有没有人使用过任何提供更强大解决方案的软件包?配置驱动的解决方案将是理想的,但我并不挑剔。
7 回答
在您从页面中抓取 HTML 之后,我会推荐PHP Simple HTML DOM Parser 。它支持无效的 HTML,并提供了一种非常简单的方法来处理 HTML 元素。
如果您正在抓取的页面是有效的 X(HT)ML,那么任何PHP 的内置 XML 解析器都可以。
我在用于抓取的 PHP 库方面没有取得多大成功。如果你喜欢冒险,你可以试试simplehtmldom。我推荐用于 Ruby的Hpricot或用于 Python 的Beautiful Soup,它们都是出色的 HTML 解析器。
我在使用htmlSQL时获得了一些乐趣,这不是一个高端解决方案,但使用起来非常简单。
我还会推荐“简单的 HTML DOM 解析器”。这是一个不错的选择,特别是如果您熟悉 jQuery 或 JavaScript 选择器,那么您会发现自己在家里。
使用 PHP 进行 HTML 抓取,我推荐 cURL + regexp 或 cURL + 一些 DOM 解析器,尽管我个人使用 cURL + regexp。如果您对正则表达式有深刻的了解,它实际上有时会更准确。
我对上面提到的Simple Html DOM Parser的结果也非常满意。然后还有 整洁的 PHP 扩展,它也非常好用。
我不得不在我的主机 1and1 上使用 curl。
http://www.quickscrape.com/是我使用 Simple DOM 类提出的!