Java jsoup 写爬虫如何执行 js 文件
如题,如何获取爬到的 html 中 script 标签下的 js 文件,能不能加载执行··然后调用方法···
不知道 headless chrome 能不能满足你的需求
Java 8 的 nashorn 引擎很好用,但是执行的时候一些浏览器对象需要你手工创建,比如 window
当然是用 phantomjs
Selenium
@qqpkat2 那你很棒啊
直接用 js 写爬虫的路过
你可以弄个 V8 把 js 传过去执行完把结果再传回来啊
楼上正解
java 有 js 的引擎的,Nashron。
window 是浏览器对象,肯定不能执行
一般爬虫 中用到的的 js 函数都是加密函数和解析函数,如果中间引入了外部库,也要把外部库加进去
python 的话 我用 execjs
@Xiaobaixiao 刚看了下, 这个应该是最好的方案吧?
期待答案,我也想知道
Selenium
jsoup 无法执行 js
有些 js 用 ScriptEngine 也是无法执行的,比如 window 方法
HtmlUnit 太慢,而且复杂 js 也执行不了
那么用什么呢,我就不告诉你
HtmlUnit
script 标签下的肯定就是个 url,你直接 请求 url 就可以了
jsuop 是 html 解析库,和 js 没多大关系,
你要用 java 执行 js 函数可以直接用相关库,jdk 中就有 ScriptEngine 这个类,可以解析执行 js
https://github.com/MachinePublishers/jBrowserDriver 可以用这个