Как это сделать в одну строку? Вот для чего нужны функции. Как это:
def getsource(url):
urlReq = urllib2.Request(url)
urlReq.add_header('User-Agent',random.choice(agents))
urlResponse = urllib2.urlopen(urlReq)
return urlResponse.read()
Теперь вы можете сделать это в одной строке:
htmlSource = getsource(theurl)
Готово!
Обновление:
Фильтрация htmlSource по одному переводу строки (как вы теперь утверждаете, что хотите) выполняется примерно так:
htmlSource = htmlSource.replace('\n', '')
А вам может понадобиться
htmlSource = htmlSource.replace('\r', '')
также. Я искренне сомневаюсь, что это ускорит что-либо.