V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tiRolin
V2EX  ›  Java

Java 使用 HtmlUnit 和 Jsoup 做爬虫报需要 JavaScript 才能工作问题,求大佬重点

  •  
  •   tiRolin · 2023-04-24 10:50:32 +08:00 · 2004 次点击
    这是一个创建于 590 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小弟是我学 java 语言的,所以想着用 java 来做个爬虫来爬取网站的内容

    不过我爬取目标网站的时候得到的内容总是"Kikoeru requires Javascript to work. 正在加载 JS 文件,如果你一直看到本界面,请使用 VPN Loading JS file"

    我确信我运行爬虫的时候已经开启了 VPN 了,HtmlUnit 的配置里也开启了解析 JS 的配置,一切都没问题,但是就是爬取不出想要的内容出来,去搜索引擎上找也没有找到解决方法

    所以来这里问问各位大佬,先谢谢各位了

    8 条回复    2023-04-25 16:54:29 +08:00
    Juszoe
        1
    Juszoe  
       2023-04-24 11:01:07 +08:00
    HtmlUnit 看起来是个无头浏览器库,你是否有启用 js
    webClient.getOptions().setJavaScriptEnabled(true)
    tulongtou
        2
    tulongtou  
       2023-04-24 11:03:16 +08:00
    HtmlUnit 不是完整支持 javascript 的,只支持一部分,你看你目标网站的 js 它支持么
    tulongtou
        3
    tulongtou  
       2023-04-24 11:04:25 +08:00   ❤️ 1
    可以考虑使用 selenium ,代码直接调用浏览器,支持完整 javascript
    zh826256645
        4
    zh826256645  
       2023-04-24 11:07:13 +08:00
    专业的事交给专业的工具,用 Python 去爬吧,也没有多少语法要学
    xuf1889
        5
    xuf1889  
       2023-04-24 11:24:57 +08:00
    java 程序需要使用 vpn 貌似是需要设置一个参数,找一下对应的 jvm 参数。参考一下: https://blog.csdn.net/qq_38127559/article/details/120769386
    cyningxu
        6
    cyningxu  
       2023-04-24 14:22:03 +08:00
    我之前也是用 HtmlUnit 和 Jsoup ,但始终有不少问题。现在换成 cdp4j 了,直接调用 chromium 浏览器,兼容性没的说,使用方式没啥大变化。建议你也试试。
    Vkery
        7
    Vkery  
       2023-04-24 17:53:47 +08:00
    爬虫写的好 牢饭吃到饱

    开个玩笑,我也是 java ,最近再学习用 spider-flow 可视化爬取页面,支持 selenium 插件,可以加载 js
    tiRolin
        8
    tiRolin  
    OP
       2023-04-25 16:54:29 +08:00
    @tulongtou 太感谢了,这个的确解决了我的问题,谢谢谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1014 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:10 · PVG 05:10 · LAX 13:10 · JFK 16:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.