为了账号安全,请及时绑定邮箱和手机立即绑定

有没有能解析js的库啊?

有没有能解析js的库啊?

智慧大石 2019-03-22 18:19:48
我想抓取网站上的内容,但是好多内容都js生成的,请问有没有能够解析js的库方便抓取页面js解析后的html库啊?比如商城产品信息,QQ空间内容等。不管什么语言,能够快速开发就行,谢谢
查看完整描述

5 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

这中不仅仅是解析 js,还要浏览器内核的!

推荐几个:

  • QtWebKit,已知有 Python 和 C++ 支持

  • PhantomJS,已知有 JavaScript、CoffeeScript 和 Python 支持,也是 Webkit 内核

  • SlimerJS,已知有 JavaScript 支持,Gecko 内核,和火狐是一样的,也可以运行于火狐之上

  • CasperJS,已知有 JavaScript 支持。上边两个的进一步封装


查看完整回答
反对 回复 2019-04-13
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

感觉你的问题可以不一定要那么重量级的东西的。

你要抓的页面内容,你知道它是从 js 来的,那么这个 js 是从哪里来的?可能是页面本身有的,也可能是 ajax 的 json 。

找出包含你需要的内容的这些 js ,然后是 json 的话用一个 json parser ,是 js 的话简单的也可以用正则提取。


查看完整回答
反对 回复 2019-04-13
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

phantomJs maybe the best solution for you, also, casperJs is based on phantomJs that can be a useful tool to grab webpage content created by javascript or ajax


查看完整回答
反对 回复 2019-04-13
?
Qyouu

TA贡献1786条经验 获得超11个赞

从你的描述听起来,是想抓页面,但是页面里内容是JS生产的,你用抓页面的方法,抓下来一个空壳子,啥也没有。对吧?

这样的话,我建议你使用“无头浏览器”,首推楼上说的PhantomJS,它本质上就是个浏览器,只是没有用户界面而已,通过编程来调用,最后可以和你的外部代码产生一些交互,给你返回(最终生成的)HTML、给你截图等等。


查看完整回答
反对 回复 2019-04-13
?
MYYA

TA贡献1868条经验 获得超4个赞

我一般在这种情况下,都是自己把js代码看一下,找到需要的地方然后自己仿照实现出来,而且java下貌似有一个库是可以执行js代码的,比如我在做新浪微博模拟登录的时候就是直接将网站js中的加密函数提取出来,然后在代码中执行获得结果,最后模拟请求就好了


查看完整回答
反对 回复 2019-04-13
  • 5 回答
  • 0 关注
  • 418 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信