0

I have a Google app engine application and I'm trying to use feedparser to access a comment on the feed. I'm testing with a feed from Google blogger example

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
   xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
   xmlns:gd='http://schemas.google.com/g/2005'
   gd:etag='W/"CUYMQ348fyp7ImA9WB9UFkU."'>
  <id>tag:blogger.com,1999:blog-blogID.postpostID..comments</id>
  <updated>2007-12-14T17:46:22.077-08:00</updated>
  <title>Comments on Lizzy's Diary: Quite disagreeable</title>
  <entry gd:etag='W/"CUYCQX47eSp7ImA9WB9UFkU."'>
     <id>tag:blogger.com,1999:blog-blogID.post-commentID</id>
     <published>2007-12-14T17:46:00.001-08:00</published>
     <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' 
        href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html'
        ref='tag:blogger.com,1999:blog-blogID.post-postID'
        source='http://www.blogger.com/feeds/blogID/posts/default/postID'
        type='text/html' />
  </entry>

Currently, my code has

d= feedparser.parse(feedurl)
for child in d.entries:
   _url = child.thr_in-reply-to.href

I get the error message

raise AttributeError, &quot;object has no attribute '%s'&quot; % key
AttributeError: object has no attribute 'thr_in'

How can I access the comments and any of its attributes?

Thanks

N.P
  • 245
  • 1
  • 12

1 Answers1

1

It looks like the dot notation i.e. child.thr_in-reply-to.href does not work for other namespaces. When I changed it to

child['thr_in-reply-to']['href']

it worked.

However the dot notation still works for the atom namespace i.e. to access the id for an entry, I'm still able to do

child.id
N.P
  • 245
  • 1
  • 12
  • That's because `thr_in-reply-to` is not a valid Python identifier. In effect, this is the expression `thr_in - reply - to`, and thr_in is not a feed attribute. – Beat Bolli Jul 24 '12 at 09:54