Here is my very first Python program that I've ever wrote outside of a classroom. Basically, it display informations of all Digg friends.
One thing I need to figure out is how to handle non-ASCII characters. My code throws exception when it encounter Unicode or non-printable characters in full name.
import urllib
import xml.etree.ElementTree as ET
# You need to changes following lines
uname = 'myusername'
appkey = urllib.quote('http://my.web.site/')
# ---------------------------------------------------------
count = 100
offset = 0
class AppURLopener(urllib.FancyURLopener):
version = "My-Application/1.0"
urllib._urlopener = AppURLopener()
optstr = "&count=" + str(count) + "&offset=" + str(offset)
diggurl = 'http://services.digg.com/user/' + uname + \
'/friends' + '?appkey=' + appkey + optstr;
diggxml = urllib.urlopen(diggurl).read()
et = ET.fromstring(diggxml)
nfriend = int(et.attrib["total"])
while True:
for e in et:
name = e.get("name", "")
icon = e.get("icon", "")
registered = e.get("registered", "")
profileviews = e.get("profileviews", "")
# Some of names contains non-ASCII character which
# I still having figure out how to handle it
# fullname = e.get("fullname", "")
fullname = ""
mutual = e.get("mutual", "")
date = e.get("date", "")
print name + "|" + icon + "|" + registered + "|" + \
profileviews + "|" + fullname + "|" + \
mutual + "|" + date
offset += count
if offset >= nfriend:
break
optstr = "&count=" + str(count) + "&offset=" + \
str(offset)
diggurl = 'http://services.digg.com/user/' + uname + \
'/friends' + '?appkey=' + appkey + optstr;
diggxml = urllib.urlopen(diggurl).read()
et = ET.fromstring(diggxml)
No comments:
Post a Comment