我想使用jython来完成基本的web抓取任务,而不是学习java。为了学习基础知识,我使用了一个来自http://blog.databigbang.com/web-scraping-ajax-and-javascript-sites/的例子,我一直试图从Windows cmd运行gartner.py代码,但没有成功。有没有人能给出一个解决方案
jython -J-classpath "path\to\the\jars\*" path\to\gartner.py和
jython path\to\gartner.py一直往外扔
Traceback (most recent call last):
File "path\to\gartner.py", line 1, in <module>
import com.gargoylesoftware.htmlunit.WebClient as WebClient
ImportError: No module named gargoylesoftware假设我已经为jython、java path\to\Java\jdk-14.0.1\bin和htmlunit-2.40.0设置了环境变量,我已经将path\to\jars\htmlunit-2.40.0\lib添加到了CLASSPATH中。我知道jython应该在jython -J-classpath "path\to\the\jars\*" path\to\gartner.py中获取指定的包,但它没有找到它。另外,据我所知,在jython path\to\gartner.py中,定义的CLASSPATH变量对于指向htmlunit-2.40.0 (如上所述)的java是可用的,而jython只是一个从python到Java的翻译器。所以--以我的理解-- java应该准备好所有的参数来导入所需的模块。有谁能确认一下吗?
我很高兴这个问题已经讨论过了,但没有明确的解决方案。我能错过什么呢?
发布于 2020-05-22 21:47:05
这个错误看起来很明显像是您缺少一个Java依赖项。这个特定库的jython问题已经在另一个线程中讨论过了:instantiating a webclient object in jython giving strange results
https://stackoverflow.com/questions/61956214
复制相似问题