首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jython运行HtmlUnit -在命令行启动时发出问题

使用Jython运行HtmlUnit -在命令行启动时发出问题
EN

Stack Overflow用户
提问于 2011-10-13 18:08:09
回答 3查看 1.1K关注 0票数 3

在本教程中,我尝试使用Jython运行HtmlUnit:

http://blog.databigbang.com/web-scraping-ajax-and-javascript-sites/

但这对我不起作用。我无法导入com.gargoylesoftvare包,HtmlUnit文件夹中只有一些HtmlUnit文件,我需要以某种方式导入这些文件吗?

本教程说要像这样运行python脚本:

代码语言:javascript
复制
/opt/jython/jython -J-classpath "htmlunit-2.8/lib/*" gartner.py

我试着跑:

代码语言:javascript
复制
java -jar /Users/adam/jython/jython.jar -J-classpath "htmlunit-2.8/lib/*" gartner.py

我的问题是我得到了一个“未知的选择:J-类路径”。但是在Jython.org上甚至没有关于-J-类路径参数的消息。如果有任何建议,我会非常高兴的。我正在运行jython独立诉2.5.2关于雪豹

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-13 18:29:22

您的整个命令行正在由java命令处理(正如它应该的那样),而-J-classpath实际上不是java的有效命令行选项。您确实应该尝试遵循本教程的具体步骤,因为您缺少了几个重要的步骤(并且在某种程度上是自己的步骤)。

票数 1
EN

Stack Overflow用户

发布于 2011-12-08 03:36:12

如果脚本使用脚本运行所需的jars的sys.path.append将完整的url附加到python路径,则可以以: Jython myscript.py的形式运行jython脚本。

这是我正在编写的当前脚本。

代码语言:javascript
复制
#!/opt/jython/jython
'''
Created on Dec 7, 2011
@author: chris
'''
import sys, os
from time import sleep

jarpath = '/usr/share/java/htmlunit/' #path the jar files to import
jars = ['apache-mime4j-0.6.jar','commons-codec-1.4.jar',
    'commons-collections-3.2.1.jar','commons-io-1.4.jar',
    'commons-lang-2.4.jar','commons-logging-1.1.1.jar',
    'cssparser-0.9.5.jar','htmlunit-2.8.jar',
    'htmlunit-core-js-2.8.jar','httpclient-4.0.1.jar',
    'httpcore-4.0.1.jar','httpmime-4.0.1.jar',
    'nekohtml-1.9.14.jar','sac-1.3.jar',
    'serializer-2.7.1.jar','xalan-2.7.1.jar',
    'xercesImpl-2.9.1.jar','xml-apis-1.3.04.jar'] #a list of jars

def loadjars(): #appends jars to jython path
    for jar in jars:
        print(jarpath+jar+'\n')
        container = jarpath+jar
        sys.path.append(container)

loadjars()

import com.gargoylesoftware.htmlunit.WebClient as WebClient
webclient = WebClient()   

def gotopage():
    print('hello, I will visit Google')
    url = 'http://google.com'
    page = webclient.getPage(url)
    print(page)    

if __name__ == "__main__":
    gotopage()
票数 1
EN

Stack Overflow用户

发布于 2016-09-18 07:34:23

我以前遇到过这样的错误,并成功地完成了这些步骤。

location.

  • write

  • 下载jython并运行java -jar python-installer-xxx.jar来安装jython,然后您可以将jython/bin文件夹放到您的系统路径中,在命令行中运行jython以确保它是正常的。

jython -J-classpath "/Users/crabime/Development Folder/htmlunit-2.23/lib/*" /Users/crabime/PycharmProjects/scrapimage/crabime/gartner.py

一切都会好的,如果你仍然没有找到模块,也许你应该检查你的输入命令类型错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7758469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档