Arduino RSS Projekt - Error in Python Script

Hallo Community,

Möchte mir mit meinem Arduino UNO und einem LCD Display einen RSS-Feed Anzeiger bauen.
Gibt ja einiges im Internet dazu.

Jetzt habe ich hier ein .py Script, dass sich über die Serial Bibliothek von Python mit dem Arduino verbindet. Das Python Script holt über den PC Die Überschriften aus dem Feed, wandelt die um, schickt die an den Arduino, und der sollte sie dann anzeigen. Habe ein bestehendes Projekt übernommen, da ich kein Python kann.

Das Script sieht so aus:

#import library to do http requests:
import urllib2
#import pyserial Library
import serial
#import time library for delays
import time

#import xml parser called minidom:
from xml.dom.minidom import parseString

#Initialize the Serial connection in COM3 or whatever port your arduino uses at 9600 baud rate
ser = serial.Serial("/dev/ttyACM0", 9600)
i = 1
#delay for stability while connection is achieved
time.sleep(5)
while i == 1:
     #download the rss file feel free to put your own rss url in here
     file = urllib2.urlopen('http://www.heise.de/open/news/news-atom.xml')
     #convert to string
     data = file.read()
     #close the file
     file.close()
     #parse the xml from the string
     dom = parseString(data)
     #retrieve the first xml tag (<tag>data</tag>) that the parser finds with name tagName change tags to get different data
     xmlTag = dom.getElementsByTagName('title')[2].toxml()
     # the [2] indicates the 3rd title tag it finds will be parsed, counting starts at 0
     #strip off the tag (<tag>data</tag>  --->   data)
     xmlData=xmlTag.replace('<title>','').replace('</title>','')
     #write the marker ~ to serial
     ser.write('~')
     time.sleep(5)
     #split the string into individual words
     nums = xmlData.split(' ')
     #loop until all words in string have been printed
     for num in nums:
          #write 1 word
          ser.write(num)
          # write 1 space
          ser.write(' ')
          # THE DELAY IS NECESSARY. It prevents overflow of the arduino buffer.
          time.sleep(2)
     # write ~ to close the string and tell arduino information sending is finished
     ser.write('~')
     # wait 5 minutes before rechecking RSS and resending data to Arduino
     time.sleep(300)

Allerdings bekomme ich folgenden Error wenn ich es ausführe (Nur zur Info, das ist unter Linux. Wie so ein Error unter Windoof aussehen würde weiß ich nicht):

Traceback (most recent call last):
  File "Arduino.py", line 38, in <module>
    ser.write(num)
  File "/usr/lib/python2.7/site-packages/serial/serialposix.py", line 498, in write
    d = to_bytes(data)
  File "/usr/lib/python2.7/site-packages/serial/serialutil.py", line 63, in to_bytes
    raise TypeError('unicode strings are not supported, please encode to bytes: {!r}'.format(seq))
TypeError: unicode strings are not supported, please encode to bytes: u'<title'

Was muss ich ändern?

LG
TimeMen

PS: Gibt es auch eine Variante ohne Python?
Also nur über den Arduino und das EthernetShield?