3

HTML ページを読み取って解釈し、onClick 関数を実行して結果の新しい HTML ページを受け取ることができる Python ベースの Web ボットを作成しようとしています。私はすでに HTML ページを読むことができ、onClick コマンドによって呼び出される関数を特定できますが、それらの関数を実行する方法や結果の HTML コードを受け取る方法がわかりません。

何か案は?

4

7 に答える 7

0

onclickイベントの後に送信されるものをスニッフィングして、ボットで複製してみませんか?

于 2011-05-03T18:29:05.213 に答える
0

V8を活用してみることができます。

V8 は、Google のオープン ソースの高性能 JavaScript エンジンです。C++ で書かれており、Google のオープン ソース ブラウザである Google Chrome で使用されています。

PythonDOM を提供するフレームワークがなければ、 それを呼び出すのは簡単ではないかもしれません。には、実行のための統合を提供Pyjamasする実験的なプロジェクトPajamas Desktopがあります。V8Javascript

Pyv8実験的な python v8 バインディングと python-javascript コンパイラです。

于 2009-06-24T07:05:08.697 に答える
0

このブラウザの部分については、基本的に Python ライブラリとして実装された Web ブラウザである Mechanize を調べることをお勧めします。http://pypi.python.org/pypi/mechanize/0.1.11 しかし、前述のように、テキスト n onClick は Javascript であり、そのためには Spidermonkey が必要です。

mechanize で Spidermonkey の汎用サポートを作成できれば、多くの人が非常に喜んでくれると思います。;)

Mechanize はやり過ぎかもしれません。HTML の特定の部分を見つけたいだけかもしれませんが、lxml と BeautifulSoup はどちらもうまく機能します。

于 2009-06-24T08:44:28.200 に答える
0

Web 自動化については、「 webbot」ライブラリを調べることができます。これにより、自動化が非常にシンプルになり、痛みがなくなります。

webbot は、ID とクラス名が動的に変化する Web ページでも機能し、selenium や mechanize よりも多くのメソッドと機能を備えています。

ここに webbot のスニペットがあります

from webbot import Browser 
web = Browser()
web.go_to('google.com') 
web.click('Sign in')
web.type('mymail@gmail.com' , into='Email')
web.click('NEXT' , tag='span')
web.type('mypassword' , into='Password' , id='passwordFieldId') # specific selection
web.click('NEXT' , tag='span') # you are logged in ^_^

ドキュメントはhttps://webbot.readthedocs.ioにあります。

于 2018-07-20T06:26:49.173 に答える