2012-05-21 2 views
0

У меня есть приложение для приложения Google для приложений, и я пытаюсь использовать feedparser для доступа к комментарию в фиде. Я тестирую с питанием от Google, например блоггердоступ к комментариям с помощью feedparser

<?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> 

В настоящее время мой код имеет

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

Я получаю сообщение об ошибке

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

Как я могу получить доступ к комментариям и любым его атрибутов?

Благодаря

ответ

1

Похоже, точечной нотации, т.е. child.thr_in-ответ-to.href не работает для других пространств имен. Когда я сменил его на

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

он работал.

Однако точечная нотация все еще работает для атома пространства имен, т.е., чтобы получить доступ к идентификатору для записи, я все еще в состоянии сделать

child.id 
+0

Это потому, что 'thr_in-ответ-в' не является допустимым Python идентификатор. По сути, это выражение 'thr_in - reply - to', а thr_in не является атрибутом фида. –

Смежные вопросы