我正在寻找一个服务器端库(最好在 PHP 中)来解析和提取可免费用于商业用途的网页内容。它应该能够提取页面内容部分的标题和html(包括图像),但过滤掉广告和不相关的内容。
Readability Parser API是一个非自由软件,可以做到这一点,但我正在寻找免费的替代品。
有什么想法吗?
我正在寻找一个服务器端库(最好在 PHP 中)来解析和提取可免费用于商业用途的网页内容。它应该能够提取页面内容部分的标题和html(包括图像),但过滤掉广告和不相关的内容。
Readability Parser API是一个非自由软件,可以做到这一点,但我正在寻找免费的替代品。
有什么想法吗?
我正在使用Boilerpipe。不幸的是,它适用于 Java,但如果您在 PHP 中找不到任何东西,它可能对您有用。显然,它并不完美,但值得一试。它也是开源的,因此可以进行必要的更改。
它有几个所谓的“提取器”,因此您可以选择最适合您需要的一个。
用法也很简单,例如:
URL url = new URL("http://example.com/article");
String articleText = ArticleExtractor.INSTANCE.getText(url);
尝试使用Simple HTML DOM 我用它为一个相当复杂的网站构建了一个爬虫。效果很好。
从页面获取任何数据的最佳方式,例如来自维基百科的埃菲尔铁塔的地理位置,是 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-server Node.js获得的最佳结果。有很多很好的 Node.js 解决方案,用于通过 DOM 遍历进行网络爬取。