>>805
python3.3でだけど

import re
def m2s(m):
 try:
  r = chr(int(m.group(1), 10))
 except:
  r = m.group(0)
 return r
body = re.sub(r'&#(\d+);', m2s, body, flags=re.ASCII)