V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
snappyone
V2EX  ›  程序员

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

  •  
  •   snappyone · 2019-09-15 10:10:15 +08:00 · 2630 次点击
    这是一个创建于 1915 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    链接: http://webmagic.io/docs/zh/
    Belmode
        6
    Belmode  
       2019-09-15 10:25:26 +08:00
    @Belmode 是 webmagic,打错了。目前已经非常完善,基本功能充足。只是,对 xpath 不是完全支持,参考文档。由于版本稳定,作者在 0.7.3 版本时,放弃了维护了。
    snappyone
        7
    snappyone  
    OP
       2019-09-15 10:34:27 +08:00 via Android
    @Belmode 目前我就是基于这个二次开发的,保存了网页原始数据,现在对原始数据做二次处理想看看有没有现成一点的库
    polythene
        8
    polythene  
       2019-09-15 10:37:50 +08:00   ❤️ 1
    可以看看我的这篇给网页中每个 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
        9
    qfdk  
       2019-09-15 17:05:39 +08:00 via iPhone
    @Belmode humm 感觉不错的样子
    knightdf
        10
    knightdf  
       2019-09-16 09:01:03 +08:00
    python 有一个 dragnet 很不错
    szandy6
        11
    szandy6  
       2019-09-16 09:09:14 +08:00
    jsoup,像 jQuery 一样操作 DOM
    wysnylc
        12
    wysnylc  
       2019-09-16 10:20:07 +08:00
    如果你是 java 的建议使用 XXL-CRAWLER,一句话创建爬虫
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2302 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:45 · PVG 23:45 · LAX 07:45 · JFK 10:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.