Mic*_*ley 34 scala libraries web-scraping
只是想知道是否有人知道利用Scala简洁语法的网络抓取库.到目前为止,我已经找到了Chafe,但这看起来很难记录和维护.我想知道是否有人在那里使用Scala进行刮擦并提出建议.(我正在尝试集成到现有的Scala框架中,而不是使用Python中编写的scraper.)
Ada*_*ent 12
首先,在JVM中有大量的HTML抓取lib,你需要做的就是pimp其中一个(pimp my library pattern).
我使用的四个是:
我使用过Selenium但从未用过刮痧.Scala有一个硒包裹物.
我建议在一半的Scala lib上使用现有的Java库.
我没有Scala特定的建议,但对于JVM,我总体上取得了很好的成功:
由于Scala的内置XML"dsl"非常简洁(如果你可以原谅它的性能问题和偶尔的API怪异),那么Tagsoup路由实际上与Scala非常兼容.此外,Tagsoup将处理您提供的几乎任何垃圾文档.它还具有内置的许多HTML实体理解等细节,其他SAXParsers将会扼杀这些实体,因为它们未被宣布.
tl; dr - 尽可能使用JSoup + CSS选择器,否则使用Tagsoup + scala XML.如果慢可以,首先使用tagsoup,然后对结果进行jsoup.