[extractor/common] Encode the url when calculating the md5 with `—write-pages` option

This doesn’t cause any problem in python 2.*, but on python 3 the `md5` function only accepts bytes.
Some pep8 style fixes