用于提取网页内容的服务器端库

时间:2013-03-05 10:50:59

标签: php web html-parsing web-crawler

我正在寻找一个服务器端库(最好用PHP)来解析和提取免费用于商业用途的网页内容。它应该能够提取页面内容部分的标题和html(包括图像),但过滤掉广告和不相关的内容。

Readability Parser API是一个非自由软件,但我正在寻找免费的替代品。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我正在使用Boilerpipe。遗憾的是它适用于Java,但如果你在PHP中找不到任何东西,它可能对你有用。显然,这并不完美,但值得一试。它也是开源的,因此可以进行必要的更改。

它有几个所谓的'提取器',所以你可以选择最适合你需要的那个。

用法也非常简单,例如:

URL url = new URL("http://example.com/article");
String articleText = ArticleExtractor.INSTANCE.getText(url);

答案 1 :(得分:0)

尝试使用Simple HTML DOM 我用它来为一个相当复杂的网站构建一个刮刀。效果很好。

答案 2 :(得分:0)

从页面获取任何数据的最佳方式,如维基百科的艾菲尔铁塔的地理位置,是jQuery DOM。

<span class="geo-dms">
    <span class="geo-lat">48°51′29″</span>
    <span class="geo-lon">2°17′40″</span>
</span>

在FireBug控制台jQuery('.geo-lat').text()中进行测试。 jQuery是一个JavaScript库,是服务器端JavaScript Web服务器Node.js获得的最佳结果。有很多很好的Node.js解决方案可以通过DOM遍历进行Web爬行。