Próbowałem uruchomić Htmlunit z Jythonem po tym samouczku:

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

Ale to nie działa dla mnie. Nie jestem w stanie zaimportować pakietów COM.ARGOYLELESOFTVARE , są tylko niektóre pliki HTML w folderze HTMLUnit, które muszę w jakiś sposób importować?

Tutorial mówi, aby uruchomić scenariusz Pythona:

/opt/jython/jython -J-classpath "htmlunit-2.8/lib/*" gartner.py

I próbuję biegać:

java -jar /Users/adam/jython/jython.jar -J-classpath "htmlunit-2.8/lib/*" gartner.py

Moim problemem jest dostaję "nieznaną opcję: j-claspath". Ale nie ma nawet słowa o -j-claspath parametru na jytonie.org. Byłbym bardzo zadowolony z jakiegokolwiek rady. Biegam Jythona samodzielnie v. 2.5.2 na Snow Leopard

3
Meph 13 październik 2011, 22:08

2 odpowiedzi

Najlepsza odpowiedź

Cała linia poleceń jest przetwarzana przez polecenie java (jak powinno), a -j-claspath nie jest rzeczywiście prawidłową opcją wiersza poleceń dla java. Powinieneś naprawdę próbować przestrzegać dokładnych kroków samouczka, ponieważ brakuje Ci kilku ważnych kroków (i rodzaj tworzenia własnych kroków).

1
Perception 13 październik 2011, 18:34

Możliwe jest uruchomienie skryptu Jythona jako: Jython MyScript.py, jeśli skrypt dołącza pełny adres URL na ścieżkę Python za pomocą sys.path.Append słoików, że skrypt będzie wymagany.

Oto obecny skrypt, nad którym pracuję.

#!/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
user1086944 8 grudzień 2011, 03:36