Spider-Crack-JS icon indicating copy to clipboard operation
Spider-Crack-JS copied to clipboard

调用js后,提示缺少标示符、字符串或数字

Open Voccoo opened this issue 5 years ago • 4 comments

Traceback (most recent call last): File "E:/Data_backup/Pdd/pdd_2.py", line 70, in run() File "E:/Data_backup/Pdd/pdd_2.py", line 47, in run anti_content = ctx.call('get_anti', url) File "D:\Anaconda\lib\site-packages\execjs_abstract_runtime_context.py", line 37, in call return self._call(name, *args) File "D:\Anaconda\lib\site-packages\execjs_external_runtime.py", line 92, in _call return self.eval("{identifier}.apply(this, {args})".format(identifier=identifier, args=args)) File "D:\Anaconda\lib\site-packages\execjs_external_runtime.py", line 78, in eval return self.exec(code) File "D:\Anaconda\lib\site-packages\execjs_abstract_runtime_context.py", line 18, in exec return self.exec(source) File "D:\Anaconda\lib\site-packages\execjs_external_runtime.py", line 88, in exec return self._extract_result(output) File "D:\Anaconda\lib\site-packages\execjs_external_runtime.py", line 167, in _extract_result raise ProgramError(value) execjs._exceptions.ProgramError: SyntaxError: 缺少标识符、字符串或数字

Voccoo avatar Apr 02 '19 09:04 Voccoo

大佬有什么好的解决办法没。找了一圈没找到合适的解决方式

Voccoo avatar Apr 02 '19 09:04 Voccoo

你这个问题我解决不了,找不出哪里错误,你可以先在webstrom上运行js代码看看能不能正常获取,如果出错的话你也可以看到错误的地方

SergioJune avatar Apr 02 '19 10:04 SergioJune

大佬有什么好的解决办法没。找了一圈没找到合适的解决方式

是不是vs里面跑的python? execjs 默认使用了windows的JScript 引擎导致的,你可以对着get_anticontent.js 右键选择windows JScript 执行,一样的错误,主要还是这个引擎太古董了.

解决方法:1安装nodejs,让execjs使用nodejs的v8就可以了.默认安装好后,execjs会优先使用nodejs,而不是默认的JScript了.

airwolf2026 avatar Jun 05 '19 05:06 airwolf2026

安装nodejs,然后在pycharm或者vs里设置环境

Jeremy-ttt avatar Jul 31 '21 10:07 Jeremy-ttt