2

このプログラムの私の考えは、現在の時刻を監視する単純な (おそらく) スクリプトを用意することです。特定の時間範囲 (たとえば、午前 6 時から午後 7 時) になると、opendns.com に移動し、Web コンテンツを使用して特定の Web サイトをブロックします。フィルタリング機能。

簡単に始めて、ウェブサイトにログインしてウェブサイトをブロックするコマンドを理解し、後で時間の監視などについて心配するだけだと思いました。しかし、悲しいことに、私もそれで問題を抱えています。

私はhttp://twill.idyll.org/を使用していますが、それが良いアイデアかどうかはわかりません。mechanize 以外に見つけたのはこれだけです(適切なドキュメントが見つかりませんでしたが、適切な場所を探していないだけかもしれません)

これが私のコードです (まあ、実際にはまだコードではありません。Python シェルのコマンドのリストです):

from twill import get_browser
from twill.commands import *

username = "username@email.com" # 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()

ここからが私の問題の始まりです。その最後の 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>
4

1 に答える 1

1

ええ、python のあや織りのものは、世界で最高のドキュメントではありません。「get_browser」のことは基本的に忘れてもいいと思います。ツイルのものは、このように私にとって少し明確です:

import twill.commands as twill

username = "username@email.com" # 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()
于 2013-12-16T02:56:00.577 に答える