使用feedparser访问Gmail Atom供稿时出错

时间:2012-06-21 23:53:22

标签: python rss feed atom-feed feedparser

我在使用feedparser模块访问Gmail Atom供稿时遇到问题。对于像博客这样的非密码保护费用,

import feedparser

d = feedparser.parse('http://karanjthakkar.wordpress.com/feed/')
print d.feed.title

feedparser模块返回的值是正确的。但是,当我使用它来访问我的Gmail Feed时,

import urllib2, feedparser

def main():
 pwdmgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
 pwdmgr.add_password("New mail feed", 'http://mail.google.com/', "karanjthakkar", "my-password")
 auth = urllib2.HTTPBasicAuthHandler(pwdmgr)
 opener = urllib2.build_opener(auth)
 data = opener.open('http://mail.google.com/mail/feed/atom')
 d = feedparser.parse(data)
 print d

if __name__ == '__main__'
 main()

我在捕获的Feed中收到错误401。这是被捕获的:

screenshot

我错过了什么吗?我不是来自CS背景,所以我所知道的就是我读过的内容。我打算使用捕获的Gmail Feed来检查未读邮件的数量,并使用Arduino显示它们。

1 个答案:

答案 0 :(得分:3)

我对HTTPDigestAuthHandler没有好运,但能够使用HTTPBasicAuthHandler。

import urllib2, feedparser

pwdmgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
pwdmgr.add_password("New mail feed", 'http://mail.google.com/', username, password)
auth = urllib2.HTTPBasicAuthHandler(pwdmgr)
opener = urllib2.build_opener(auth)
data = opener.open('http://mail.google.com/mail/feed/atom')
d = feedparser.parse(data)
print d