2013-02-24 2 views
1

이 첫 번째 python 프로그램이므로 나와 함께 해보십시오. 나는 몇 시간 동안 인터넷 검색을하고 솔루션을 테스트했지만, 나는 그저 내가 당신에게 친절한 사람들로부터 도움의 손길이 필요하다고 생각하는 시점에있다.Twins와 함께 showforms() 명령을 사용할 때 Parse Error가 발생했습니다.

이 프로그램의 아이디어는 시간을 모니터링하고 (예 : 오전 6 시부 터 오후 7 시까 지) 특정 시간대 (예 : 오전 6 시부 터 오후 7 시까 지)에 opendns.com으로 이동하여 특정 웹 사이트를 차단하는 간단한 스크립트 일 것입니다 웹 콘텐츠 필터링 기능을 사용합니다.

파이썬에 관해서는 꽤 초보자이기 때문에 간단하게 시작해서 웹 사이트에 로그인하고 웹 사이트를 차단하고 나중에 시간을 모니터링하는 것에 대해 걱정할 필요가 있다고 생각했습니다. 에. 하지만 슬프게도 나는 그 문제도 가지고있다.

나는 http://twill.idyll.org/을 사용하고 있지만 좋은 생각인지 확실하지 않습니다. 그것은 내가 기계화에서 찾을 수있는 유일한 것입니다. (올바른 문서를 찾을 수는 없지만 적절한 장소를보고 있지는 않습니다.)

여기 내 코드가 있습니다. 글쎄, 실제로 코드는 아닙니다. 아직 : 파이썬 셸에 대한 명령 목록) :

from twill import get_browser 
from twill.commands import * 

username = "[email protected]" # email for opendns 
password = "thisisthepassword" # password for opendns 
b = get_browser() 

b.go("https://dashboard.opendns.com/") 
b.showforms() 

fv("2", "username", username) 
fv("2", "password", password) 
showforms() 

submit("sign-in") 

b.showforms() 

b.go ("https://dashboard.opendns.com/settings/*MYNETWORKID*/content_filtering") # I replaced my network ID due to privacy reasons but this is basically the URL to the web content filtering page on OpenDNS for a network 

b.showforms() 

이제 내 문제가 시작됩니다.

Traceback (most recent call last): 
    File "<pyshell#43>", line 1, in <module> 
    b.showforms() 
    File "C:\Python27\lib\site-packages\twill-0.9-py2.7.egg\twill\browser.py", line 225, in showforms 
    forms = self.get_all_forms() 
    File "C:\Python27\lib\site-packages\twill-0.9-py2.7.egg\twill\browser.py", line 259, in get_all_forms 
    global_form = self._browser.global_form() 
    File "C:\Python27\lib\site-packages\twill-0.9-py2.7.egg\twill\other_packages\_mechanize_dist\_mechanize.py", line 446, in global_form 
    return self._factory.global_form 
    File "C:\Python27\lib\site-packages\twill-0.9-py2.7.egg\twill\utils.py", line 334, in get_global_form 
    return self.factory.global_form 
    File "C:\Python27\lib\site-packages\twill-0.9-py2.7.egg\twill\other_packages\_mechanize_dist\_html.py", line 521, in __getattr__ 
    self.forms() 
    File "C:\Python27\lib\site-packages\twill-0.9-py2.7.egg\twill\other_packages\_mechanize_dist\_html.py", line 534, in forms 
    self._forms_factory.forms()) 
    File "C:\Python27\lib\site-packages\twill-0.9-py2.7.egg\twill\other_packages\_mechanize_dist\_html.py", line 226, in forms 
    raise ParseError(exc) 
ParseError: <unprintable ParseError object> 

사람이 나를 도와 또는 올바른 방향으로 날 지점 수 : 마지막 b.showforms에 는() 오류가 발생합니다? 다른 언어를 사용해야한다고해도 완전히 잘못 생각한다고 생각하면 제게 말해주십시오. 필자는 이것이 첫 번째 프로그램이므로 Python에 지나치게 의존하지는 않는다고 말했듯이이 프로그램과 완벽하다는 말을 들었습니다.

죄송합니다.이 질문을 잘못된 형식이나 다른 것으로 게시 한 경우. 나는 내가 변화시킬 필요가 있거나 더 많은 정보를 제공해야 할 필요가있는 경우 가이드 라인을 준수하기 위해 최선을 다했습니다.

나를 도울 수있는 시간을 갖는 사람에게 미리 감사드립니다. 아마도이 질문은 아마도 대부분의 사람들에게 분명한 대답으로 보입니다.

답변

0

그래, 파이썬을위한 능 직물은 세계 최고의 문서가 아닙니다. 기본적으로 "get_browser"에 대해 잊어 버릴 수 있다고 생각합니다. 능 직물은 다음과 같이 조금 더 명확합니다.

import twill.commands as twill 

username = "[email protected]" # email for opendns 
password = "thisisthepassword" # password for opendns 

twill.go("https://dashboard.opendns.com/") 
twill.showforms() 

twill.fv("2", "username", username) 
twill.fv("2", "password", password) 
twill.showforms() 

twill.submit("sign-in") 

twill.showforms() 

twill.go ("https://dashboard.opendns.com/settings/*MYNETWORKID*/content_filtering") # I replaced my network ID due to privacy reasons but this is basically the URL to the web content filtering page on OpenDNS for a network 

twill.showforms()