0

なぜこれがうまくいかないのか誰か教えてもらえますか?

import cookielib
import urllib
import urllib2
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
data = urllib.urlencode({'session[username_or_email]':'twitter handle' , 'session[password]':'password'})
opener.open('https://twitter.com' , data)
stuff = opener.open('https://twitter.com')
print stuff.read()

ログイン後にページのhtmlが表示されないのはなぜですか?

4

1 に答える 1

0

タスクに Oauth ライブラリを使用することを検討してください。mechanize を使用してサイトをスクレイピングすることはお勧めしません。Twitter はいつでも HTML 固有のものを変更できるため、コードが破損する可能性があります。

これをチェックしてください: Python-twitter http://code.google.com/p/python-twitter/

更新を投稿する最も簡単な例:

>>> import twitter
>>> api = twitter.Api(
            consumer_key='yourConsumerKey',
            consumer_secret='consumerSecret',
            access_token_key='accessToken',
            access_token_secret='accessTokenSecret')
>>> api.PostUpdate('Blah blah lbah!')

失敗する理由はたくさんあります。

  • User-AgentTwitter はおそらく、あなたが提供していないヘッダーを期待しています。
  • 私は HTML を見ていませんでしたが、多くの場合、フォームが実際に送信される前に Javascript が使用されている可能性があります (私は実際にこれが当てはまると思います。なぜなら、この正確なことについて非常に詳細な回答を書いたことを漠然と覚えているからです (そして、私はそうではないようです)それへのリンクを見つけるために!)))。
于 2012-07-04T16:18:55.890 に答える