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 特定的内容,然后您的代码将中断。

看看这个: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(我实际上认为是这种情况,因为我隐约记得在这个确切的事情上写了一个非常详细的答案(而且我似乎没有找到它的链接!))。
于 2012-07-04T16:18:55.890 回答