Java 提取网页主要内容,求指导

2019-09-15 10:10:15 +08:00
 snappyone

现在遇到的问题是,自己写 xpath 需要写很多,每个网站写不同的,不太现实。

自定义正则抽取数据,写的不好会遇到死循环等奇葩问题,请教下各位有没有比较好的这方面现成的库实现

2617 次点击
所在节点    程序员
12 条回复
snappyone
2019-09-15 10:11:12 +08:00
如果有其他语言的较好实现,也可以考虑包装成对应 service 进行调用,每秒大概几百次调用这种频率
Hyseen
2019-09-15 10:11:33 +08:00
jsoup
socradi
2019-09-15 10:12:53 +08:00
可以试一下 jsoup
winterbells
2019-09-15 10:18:59 +08:00
前几天那个帖子,根据一篇论文写的实现,抽取标题和内容
你搜一下看看
Belmode
2019-09-15 10:23:40 +08:00
参考 webmaigic,作者基于 httpclient、jsoup 实现一套 xsoup,并且抽象了一个爬虫理论,自己基本上定制 Pipeline 和 Processor 就好,非常易用。

链接: http://webmagic.io/docs/zh/
Belmode
2019-09-15 10:25:26 +08:00
@Belmode 是 webmagic,打错了。目前已经非常完善,基本功能充足。只是,对 xpath 不是完全支持,参考文档。由于版本稳定,作者在 0.7.3 版本时,放弃了维护了。
snappyone
2019-09-15 10:34:27 +08:00
@Belmode 目前我就是基于这个二次开发的,保存了网页原始数据,现在对原始数据做二次处理想看看有没有现成一点的库
polythene
2019-09-15 10:37:50 +08:00
可以看看我的这篇给网页中每个 DOM 元素打分的方法: https://github.com/polyrabbit/hacker-news-digest/blob/master/%5Btutorial%5D%20How-to-extract-main-content-from-web-pages-using-Machine-Learning.ipynb,虽然是用 Python 写的,但原理都是类似的。

我用它来提取 Hacker News 各个网站的正文,准确率很高。
qfdk
2019-09-15 17:05:39 +08:00
@Belmode humm 感觉不错的样子
knightdf
2019-09-16 09:01:03 +08:00
python 有一个 dragnet 很不错
szandy6
2019-09-16 09:09:14 +08:00
jsoup,像 jQuery 一样操作 DOM
wysnylc
2019-09-16 10:20:07 +08:00
如果你是 java 的建议使用 XXL-CRAWLER,一句话创建爬虫

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/600880

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX