2010 1.09: Difference between revisions
Line 3: | Line 3: | ||
<source lang="python"> | <source lang="python"> | ||
#!/usr/bin/env python | #!/usr/bin/env python | ||
from optparse import OptionParser | |||
parser = OptionParser() | |||
parser.add_option("-u", "--url", dest="url", default="http://feeds.bbci.co.uk/news/rss.xml", help="the url to read from") | |||
parser.add_option("-n", "--numlines", type="int", dest="num", default=1000, help="how many lines to display") | |||
(options, args) = parser.parse_args() | |||
feed = feedparser.parse(url) | import feedparser | ||
for e in feed.entries: | feed = feedparser.parse(options.url) | ||
for e in feed.entries[:options.num]: | |||
print e.title.encode("utf-8") | print e.title.encode("utf-8") | ||
</source> | </source> |
Revision as of 22:44, 6 December 2010
Read an RSS feed from a URL given on the command line
#!/usr/bin/env python
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-u", "--url", dest="url", default="http://feeds.bbci.co.uk/news/rss.xml", help="the url to read from")
parser.add_option("-n", "--numlines", type="int", dest="num", default=1000, help="how many lines to display")
(options, args) = parser.parse_args()
import feedparser
feed = feedparser.parse(options.url)
for e in feed.entries[:options.num]:
print e.title.encode("utf-8")
Words
Turns a text in an alphabetical list of unique words. Attempts to strip punctuation and lowercases everything.
#!/usr/bin/env python
import sys, string
words = {}
for line in sys.stdin:
for word in line.split():
word = word.lower().strip(string.punctuation)
words[word] = words.get(word, 0) + 1
for word in sorted(words.keys()):
print word,
print
Word counts
Grab words (as above) and display one per line followed by the number of times the word appears.
#!/usr/bin/env python
import sys, string
words = {}
for line in sys.stdin:
for word in line.split():
word = word.lower().strip(string.punctuation)
words[word] = words.get(word, 0) + 1
for (word, count) in sorted(words.items()):
print word, count