2023年6月29日发(作者:)
js如何运⾏python代码_⼿把⼿教你如何使⽤Python执⾏js代码前⾔各位⼩伙伴,⼤家好,这次咱们来说⼀下关于爬⾍⽅向的⼀个知识,Python如何执⾏js,快来看看吧为什么要引出Python执⾏js这个问题?都说术业有专攻,每个语⾔也都有⾃⼰的长处和短处。在爬⾍⽅向,Python绝对是扛把⼦,近⼏年随着AI的⽕爆,需要各种各样的数据,所以,爬⾍需求也跟着⽔涨船⾼起来。我们做爬⾍的当然是爬的爽,但是估计⼈家后台在骂街,毕竟谁都不希望⾃⼰的数据被弄⾛,所以后台反爬技术也在快速提升,⼀攻⼀防就这么在拉锯着。现在为了防⽌反爬,前端使⽤的反爬技术⽐较多的是js代码混淆。什么是js代码混淆?正常代码我们现在看⼀段js代码,代码逻辑很简单,就是拼接时间返回。functionformatDate(now) {var now = new Date(1230999938);var year=lYear();var month=th()+1;var date=e();var hour=rs();var minute=utes();var second=onds();returnyear+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;}运⾏⼀下这段代码,如下图所⽰。混淆代码我随便找了个在线的js代码混淆⽹站。js代码functionformatDate(mz1){var KkkGDiH2=new window["x44x61x74x65"](1230999938);var tsk3=KkkGDiH2['x67x65x74x46x75x6cx6cx59x65x61x72']();var YMreyP4=KkkGDiH2['x67x65x74x4dx6fx6ex74x68']()+1;var Ozo5=KkkGDiH2['x67x65x74x44x61x74x65']();var QMYEc$eD6=KkkGDiH2['x67x65x74x48x6fx75x72x73']();var JfXVV_Akq7=KkkGDiH2['x67x65x74x4dx69x6ex75x74x65x73']();var $mP8=KkkGDiH2['x67x65x74x53x65x63x6fx6ex64x73']();returntsk3+"x2d"+YMreyP4+"x2d"+Ozo5+" "+QMYEc$eD6+"x3a"+JfXVV_Akq7+"x3a"+$mP8上⾯这个真的不是我瞎写的,混淆之后就是这样⼦的,不信看图⽚。可能我们会有个疑问,js代码都成这玩意了,还能执⾏吗? 答案是肯定的。即使js代码⾮常乱,但还是可以执⾏的,结果跟上⾯的是⼀样的。这就造成了⼀个问题,我们在做爬⾍时,如果需要,多多少少可能都要研究⼀下js代码,然后进⾏js解密⼀下,但是,但是,要是代码都混淆成了这了,还怎么解?⼀点逻辑都看不通了,基本上不可⽤Python按照js逻辑重写出来了...很巧,⼩编也是卡在这⾥...后来我就想,要是Python能执⾏js代码就好了,不⽤管函数⾥⾯的逻辑了,只拿函数返回值就好了。Python第三⽅包Execjs可能是吧,不⽌我⼀个⼈遇到了这种情况,所以⼤佬们就开发出来这种⼯具包,⽤于执⾏js代码。安装在安装之前,需要有node环境,这⾥就不举栗⼦了,下⼀步下⼀步就好了。pip3 install PyExecJSExecjs⽤法超级简单的,⼏⾏代码。执⾏js注:由于上述js代码会⽣成window对象,并不能直接执⾏成功,需要额外的其他辅助,这⾥简单的举⼀下其他例⼦。正常js代码functionadd(x, y) {returnx + y;}Python执⾏js代码import execjsctx = e("""functionadd(x, y) {returnx + y;}""")print(("add", 1, 2))执⾏结果如下图所⽰:混淆js代码functionadd(bi1,Pl$2){returnbi1+Pl$2}Python执⾏混淆js代码import execjsctx = e("""functionadd(bi1,Pl$2){returnbi1+Pl$2}""")print(("add", 1, 2))执⾏结果如下图所⽰:可以看到,即使再混淆,只要执⾏的是js代码,都是没啥问题的。上述拼接时间返回的js混淆代码也是可以执⾏的,但是它多了⼀个window对象,需要node安装jsdom才⾏,由于⽹络设置有问题,实在是下载不了举例⼦,实在是抱歉。或者使⽤selenium打开游览器执⾏再返回也⾏,当然,速度更慢。结尾反爬和爬⾍⼀直都是⼀攻⼀防,以后可能这种情况会更严重,但是在Python庞⼤的⽣态中总能找到不错的⽅案。⼈⽣苦短,Python当歌。【编辑推荐】【责任编辑:华轩 TEL:】点赞 0
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687981376a63373.html
评论列表(0条)