mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-04-13 09:42:01 +00:00
36 lines
1.6 KiB
Python
36 lines
1.6 KiB
Python
from gevent import monkey
|
|
monkey.patch_socket()
|
|
|
|
from newsblur.utils import feedparser
|
|
import gevent
|
|
from gevent import queue
|
|
import urllib.request, urllib.error, urllib.parse
|
|
|
|
def fetch_title(url):
|
|
print(("Running %s" % url))
|
|
data = urllib.request.urlopen(url).read()
|
|
print(("Parsing %s" % url))
|
|
d = feedparser.parse(data)
|
|
print(("Parsed %s" % d.feed.get('title', '')))
|
|
return d.feed.get('title', '')
|
|
|
|
def worker():
|
|
while True:
|
|
url = q.get()
|
|
try:
|
|
fetch_title(url)
|
|
finally:
|
|
q.task_done()
|
|
|
|
if __name__ == '__main__':
|
|
q = queue.JoinableQueue()
|
|
for i in range(5):
|
|
gevent.spawn(worker)
|
|
|
|
for url in "http://www.43folders.com/rss.xml/nhttp://feeds.feedburner.com/43folders/nhttp://www.43folders.com/rss.xml/nhttp://feeds.feedburner.com/43folders/nhttp://feeds.feedburner.com/AMinuteWithBrendan/nhttp://feeds.feedburner.com/AMinuteWithBrendan/nhttp://www.asianart.org/feeds/Lectures,Classes,Symposia.xml/nhttp://www.asianart.org/feeds/Performances.xml/nhttp://feeds.feedburner.com/ajaxian/nhttp://ajaxian.com/index.xml/nhttp://al3x.net/atom.xml/nhttp://feeds.feedburner.com/AmericanDrink/nhttp://feeds.feedburner.com/eod_full/nhttp://feeds.feedburner.com/typepad/notes/nhttp://feeds.dashes.com/AnilDash/nhttp://rss.sciam.com/assignment-impossible/feed/nhttp://blogs.scientificamerican.com/assignment-impossible//nhttp://feeds.feedburner.com/Beautiful-Pixels/nhttp://feeds.feedburner.com/Beautiful-Pixels/nhttp://www.betabeat.com/feed/".split('/n'):
|
|
print(("Spawning: %s" % url))
|
|
q.put(url)
|
|
|
|
q.join() # block until all tasks are done
|
|
|
|
|