使用cookielib进行Twitter身份验证

时间:2012-07-04 15:56:15

标签: python authentication twitter cookielib

有人可以告诉我为什么这不起作用吗?

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?

1 个答案:

答案 0 :(得分:0)

请考虑使用Oauth库来完成您的任务。建议不要使用mechanize刮取网站,因为twitter可以随时更改HTML特定的内容,然后您的代码就会中断。

检查一下:http://code.google.com/p/python-twitter/

上的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!')

失败可能有很多原因:

  • Twitter可能需要User-Agent标题,您没有提供。
  • 我没有查看HTML,但很多人在实际提交表单之前有一些Javascript正在播放(我实际上认为是这种情况,因为我依旧记得在这个确切的事情上写了一个非常详细的答案(和我似乎找不到它的链接!))。