[Tutor] using a for loop with feedparser

Tonu Mikk tmikk at umn.edu
Mon Jan 26 22:53:50 CET 2009


I now have a new question related to the same project.  I currently have 
a code snippet like this:

1.for item in d.entries:
2.    link = Link(url=item.link)
3.    link.save()
4.    user = User.objects.get(id=1)
5.    link = Link.objects.get(id=1)
6.    bookmark = Bookmark (
7.        title = item.title,
8.        desc = item.description,
9.        link = link,
10.      user = user,
11.  )
12.  bookmark.save()

I need to increment the link id (line 5) for each item in the 
d.entries.  I tried "link = Link.objects.get(id=id+1)" and "link = 
Link.objects.get((id=1)+1)", but both of them generated errors.   I am 
not quite sure where to go from here.

Thank you,
Tonu

Tonu Mikk wrote:
> Tonu Mikk wrote:
>> Hello,
>>
>> I am trying to parse a feed and insert some feed elements into a 
>> Django project database.   I believe I should be able to use for loop 
>> to iterate over the list elements.  I am using the Universal Feed 
>> parser (http://www.feedparser.org/).  I am able to extract items one 
>> by one and insert them into a database (code below).   As my first 
>> try at this, I would like to print the titles of all the feed 
>> entries.  I tried this
>>
>> import feedparser
>> d = feedparser.parse('http://feeds.delicious.com/v2/rss/utools')
>> for item in d.entries:
>>    print item
>>
>> This prints all the feed entries and their values.  Any thoughts on 
>> how I could just print the titles?
> I found out the answer after trying some more.  To print the title 
> only, I need to do this:
>
> for item in d.entries:
>    print item.title
>>
>>
>> Code to save a single feed item into the database:
>> #!/usr/local/bin/python
>> import feedparser
>> import os.path
>> import sys, os
>> import django.contrib.auth
>> sys.path.append ('/home/dmc/projects/django_bookmarks')
>> os.environ['DJANGO_SETTINGS_MODULE']='settings'
>> from django.contrib.auth.models import User
>> from bookmarks.models import *
>> d = feedparser.parse('http://feeds.delicious.com/v2/rss/utools')
>>
>> link1 = Link(url=d.entries[0].link)
>> link1.save()
>> user = User.objects.get(id=1)
>> link = Link.objects.get(id=1)
>> bookmark = Bookmark (
>>    title = d.entries[0].title,
>>    desc = d.entries[0].description,
>>    link = link,
>>    user = user,
>> )
>> bookmark.save()
>> _______________________________________________
>> Tutor maillist  -  Tutor at python.org
>> http://mail.python.org/mailman/listinfo/tutor
>
>




More information about the Tutor mailing list