【发布时间】:2010-09-07 05:47:00
【问题描述】:
我一直在使用正则表达式在 PHP 中进行一些 HTML 抓取。这行得通,但结果是挑剔和脆弱的。有没有人使用过任何提供更强大解决方案的软件包?配置驱动的解决方案是理想的,但我并不挑剔。
【问题讨论】:
-
看看this线程 - 问题进入了类似的方向
标签: php html screen-scraping
我一直在使用正则表达式在 PHP 中进行一些 HTML 抓取。这行得通,但结果是挑剔和脆弱的。有没有人使用过任何提供更强大解决方案的软件包?配置驱动的解决方案是理想的,但我并不挑剔。
【问题讨论】:
标签: php html screen-scraping
在您从页面中抓取 HTML 之后,我会推荐 PHP Simple HTML DOM Parser。它支持无效的 HTML,并提供了一种非常简单的方法来处理 HTML 元素。
如果您正在抓取的页面是有效的 X(HT)ML,那么 PHP's built-in XML parsers 中的任何一个都可以。
我在用于抓取的 PHP 库方面没有取得多大成功。如果你喜欢冒险,你可以试试simplehtmldom。我推荐Hpricot 用于Ruby 或Beautiful Soup 用于Python,它们都是优秀的 HTML 解析器。
【讨论】:
上面提到的Simple Html DOM Parser 的结果也非常好。还有tidy Extension for PHP,它也非常好用。
【讨论】:
与htmlSQL 一起工作让我很开心,这不是一个高端解决方案,但使用起来非常简单。
【讨论】:
使用 PHP 进行 HTML 抓取,我推荐 cURL + regexp 或 cURL + 一些 DOM 解析器,尽管我个人使用 cURL + regexp。如果您对正则表达式有深刻的了解,它实际上有时会更准确。
【讨论】:
我还推荐“简单的 HTML DOM 解析器”。这是一个不错的选择,特别是如果您熟悉 jQuery 或 JavaScript 选择器,那么您会发现自己很熟悉。
【讨论】:
我必须在主机 1and1 上使用 curl。
http://www.quickscrape.com/ 是我使用 Simple DOM 类想出的!
【讨论】: