суббота, 29 мая 2010 г.

Save all images from RSS feed

Набросал скрипт, который сохраняет все картинки из RSS feed'а, может кому пригодится.
Использует модули Universal Feed Parser,Beautiful Soup и soupselect
import feedparser
from BeautifulSoup import BeautifulSoup
from  soupselect import select
import urllib2
from os import path

def SaveAllImagesFromRSS(rssurl, topath):
 opener = urllib2.build_opener()

 blog = feedparser.parse(rssurl)

 nimgs=0
 for post in blog.entries:
  doc = BeautifulSoup(post.summary_detail.value)
  for img in select(doc, 'img[src]'):   
   nimgs+=1
   url = img['src']
   filename = url.split('/')[-1]
   if '.' not in filename: 
    filename+='.jpg'

   filename = path.join(topath,filename)
   
   print url, " ", filename

   pg = opener.open(url)
   pic =  pg.read()
  
   fout = open(filename, 'wb')
   fout.write(pic)
   fout.close()
 

 return nimgs

print SaveAllImagesFromRSS('http://drugoi.livejournal.com/data/rss', 'drugoi')

Комментариев нет: