39

我一直在使用正则表达式在 PHP 中进行一些 HTML 抓取。这行得通,但结果是挑剔和脆弱的。有没有人使用过任何提供更强大解决方案的软件包?配置驱动的解决方案将是理想的,但我并不挑剔。

4

7 回答 7

28

在您从页面中抓取 HTML 之后,我会推荐PHP Simple HTML DOM Parser 。它支持无效的 HTML,并提供了一种非常简单的方法来处理 HTML 元素。

于 2008-08-29T07:55:42.710 回答
5

如果您正在抓取的页面是有效的 X(HT)ML,那么任何PHP 的内置 XML 解析器都可以。

我在用于抓取的 PHP 库方面没有取得多大成功。如果你喜欢冒险,你可以试试simplehtmldom。我推荐用于 Ruby的Hpricot或用于 Python 的Beautiful Soup,它们都是出色的 HTML 解析器。

于 2008-08-29T08:01:37.457 回答
5

我在使用htmlSQL时获得了一些乐趣,这不是一个高端解决方案,但使用起来非常简单。

于 2008-08-29T09:40:59.540 回答
5

我还会推荐“简单的 HTML DOM 解析器”。这是一个不错的选择,特别是如果您熟悉 jQuery 或 JavaScript 选择器,那么您会发现自己在家里。

我什至在过去写过关于它的博客。

于 2009-07-31T19:43:11.867 回答
3

使用 PHP 进行 HTML 抓取,我推荐 cURL + regexp 或 cURL + 一些 DOM 解析器,尽管我个人使用 cURL + regexp。如果您对正则表达式有深刻的了解,它实际上有时会更准确。

于 2008-12-27T09:11:09.953 回答
2

我对上面提到的Simple Html DOM Parser的结果也非常满意。然后还有  整洁的 PHP 扩展,它也非常好用。

于 2008-08-29T08:08:50.417 回答
2

我不得不在我的主机 1and1 上使用 curl。

http://www.quickscrape.com/是我使用 Simple DOM 类提出的!

于 2010-12-02T06:51:57.477 回答