pythonのdiffツール、difflibを試してみました。
コマンドラインdiffツールの[-y]オプション、[–side-by-side]の表示でhtmlを出力することができ、差分をカラーマップで表示してくれます。

ソースファイルは以下のとおり。
import difflib
from difflib import HtmlDiff
f = open("a.txt")
g = open("b.txt")
df = HtmlDiff()
o = open('diff.html', 'w')
o.writelines(df.make_file(f, g))
o.close()
f.close()
g.close()
difflibのドキュメントはこちら。
https://pymotw.com/3/difflib/index.html