美文网首页
python执行js代码之pyExecjs

python执行js代码之pyExecjs

作者: 周周周__ | 来源:发表于2019-03-31 00:28 被阅读0次

对于爬虫的过程中,最头疼的就是js加密,这是WEB开发者对于反爬用的比较厉害的手段之一,但是这对于我们做爬虫无可避免的需要进行破解的 --冤冤相报何时了唉!

安装pyExecjs

按照官方的说法,我们电脑上必须有执行js的环境(python2用pyv8的比较多,但对于python3却没有好的支持)

比如

            pyv8
            Node.js
            PhantomJS

等吧,毕竟做爬虫的电脑上的环境都比较全
安装也比较简单
pip install PyExecJS
(pyExejs在执行的过程中是可以进行指定运行环境的,需要可以进行查询)

运行使用

Js代码在执行之前需要通过编译才能执行


import execjs

# eval 和 complie 是要构建一个JS的环境
e = execjs.eval('a = new Array(1,2,3)')  # 可以直接执行JS代码
print(e)
x = execjs.compile('''
       function add(x,y){
           return x+y;
           };
       ''')
print(x.call('add', '1', '2'))  # execjs.compile用于执行更复杂的js代码
################### 运行结果:################
[1, 2, 3]
12

小结:python在进行对一些有js加密网站得过程中,困难得地方是找到加密实现的过程在哪个地方。可以通过debug,堆栈跟踪,慢慢进行调试。找到js加密得地方执行就十分简单了。
初入爬虫,对于js有着莫名得恐惧,也不知道怎么进行执行得。但是慢慢得过程,解开js加密。
不懂可后台私聊作者。进行交流!

相关文章

网友评论

      本文标题:python执行js代码之pyExecjs

      本文链接:https://www.haomeiwen.com/subject/hbiebqtx.html