Я делаю urllib2 и загружаю htmlSource веб-страницы. Как мне сделать все это на 1 строке? - PullRequest
0 голосов
/ 11 октября 2009
urlReq = urllib2.Request(theurl)
urlReq.add_header('User-Agent',random.choice(agents))
urlResponse = urllib2.urlopen(urlReq)
htmlSource = urlResponse.read()

Как мне сделать htmlSource в 1 строку вместо множества строк?

Ответы [ 2 ]

9 голосов
/ 11 октября 2009

Вы действительно не можете этого сделать, единственно возможная вещь - поместить ответ и источник в одну строку. Или вы можете использовать ; между утверждениями, но это ужасно.

Но что более важно, зачем ты это делаешь? Почему лучше иметь все это в сети?

>>> import this

The Zen of Python, by Tim Peters

...
Readability counts.
...
6 голосов
/ 11 октября 2009

Как это сделать в одну строку? Вот для чего нужны функции. Как это:

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', '')

также. Я искренне сомневаюсь, что это ускорит что-либо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...