2011-07-03 3 views
1

コードスニペットをロードしない::PythonのMechanizeの:ページは、私が使用しています完全に

br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] 

response = br.open('http://www.facebook.com') 
br.select_form(nr=0) 
br['email'] = USERNAME 
br['pass'] = PASSWORD 
response2 = br.submit() 

assert br.viewing_html() 
time.sleep(50) 


for form in br.forms(): 
    print form 

さて私は何が起こっているか確認するために提出する)(response2.readを書き出すみました。上のナビゲーションバーのみが読み込まれました。 time.sleep(50)を持つことの意図は、ページの読み込みに時間を提供することでしたが、その作業を推測することでした。

これを行う正しい方法は何ですか?

+0

FB APIを使ってみましたか? – infrared

+0

これはfb apiを使って行うことができますが、機械化を試したかったのです。 –

答えて

0

正しいログイン情報を渡していますか?

ログインしてコードを実行しても問題ありません。

私が追加する唯一のことは、すべてのコンテンツを受け取るまで、そこにtime.sleep(50)があることをMechanizeブロックにする必要がないことです。

は私たち(print response2を含む)あなたの完全コードサンプル出力を与えることによって、あなたの質問は、より便利にします。

+0

一度ログインすると、ajax-mechanize isnを使用してコンテンツが読み込まれます。共有ボックスを表示することはできません。 –

+0

* FacebookはAjaxを使用してコンテンツを読み込みます* - JavaScriptをオンにしている場合は、はい。私たちはしません。 UAを変更しようとしましたか?あなたがFirefoxであるとFacebookに伝えれば、あなたはFirefoxだと思うだろう。ブラウザ以外のものに変更する –

0

あなたはwww.facebook.comを傷つけるべきではありません。

あなたの後ろのものを得る正しい方法は、Facebookプラットフォームを@infraredノートとして使用することです。

+0

この質問は、ajaxを使用するすべてのサイトとmechanizeの使用について一般的です。私はfb apiを使いましたが、可能ならば試してみました。 –

+0

MechanizeはJavaScriptインタープリタを持っていないので、JSまたはAjaxを実行しません –