2012-01-11 3 views
0

私は仮想企業のWebサイト(この場合は仮想ベーカリー)を表すサイトを作成しています。私はすでに製品とカートシステムをセットアップしていますが、問題は今では仮想銀行システムと連携するようになっています。システムに関わる人は誰でもアカウントを持っています。私もそうします。さて、私はPythonの初心者です。先ほど作成したたくさんのスクリプトを使用していて、私の望みに合わせて少し編集しています。スクリーンpython(サーバー側)でサイトをスクラップ

私の質問...

  • どのように私は、Pythonを使ってサードパーティのサイトにログインしますか?
  • ログインしたら、サイト上のボタン(基本的にjavascriptを実行)をクリックする方法はありますか?

申し訳ありませんが、私はアクセスしようとしているサイトへのリンクを含めますが、現時点ではダウンしているようです。なんて都合のいい。

答えて

0

残念ながら、パイソンのコンテキスト(またはブラウザの外で何でも)内からのJavascript依存サイトを横断するために非常に良い方法はありません。たとえあなたがPython-spidermonkeyや他の形式のPython(おそらくpyV8)を使ってMechanizeを使用していたとしても、それらのブリッジだけではDOMをエミュレートしません。したがって、UIのやりとりを扱うJavaScriptは機能しません。

しかし、あなたがログインしたいサイトがJavascriptに依存していない場合、ウェブサイトを横断することは完全に可能です。私の提案は、Kenneth Reitzのrequestsモジュールを使用することです。あなたは、次のような何かを行うことができ:

import requests 

# To handle logins you'll most likely need to maintain a session 
# if the site you login to usually expects a human 
s = requests.session() # starts a session 

# Next you want to login to the site 
s.post("http://somesite.com/login", data={"u": "username", "p": "password"}) 

# Now you're logged in and you can do anything you want 
# using the session instance 
response_data = s.get("http://somesite.com/awesome-page-id-like-to-grab") 

# Do something with the response data ... 
my_response_parsing_function(response_data.content) 

は、Pythonの標準ライブラリを必要とするが、要求はすべてその核心ザラザラものを扱うそれを行うには、他の方法があります。

関連する問題