我在使用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。这是被捕获的:
我错过了什么吗?我不是来自CS背景,所以我所知道的就是我读过的内容。我打算使用捕获的Gmail Feed来检查未读邮件的数量,并使用Arduino显示它们。
答案 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