Use alguns scripts simples de bash. Por exemplo, se você tiver um arquivo "foo" com os URLs:
http://www.google.com/index.html
http://www.cnn.com/index.html
Você pode executar:
for i in 'cat foo'; do wget $i -O 'echo $i | sed 's/[^A-Za-z0-9]/_/g' | sed 's/_html$/.html/''; done
que produz
http___www_cnn_com_index.html
http___www_google_com_index.html