Я просмотрел предыдущие подобные вопросы и стал еще более запутанным.
В python 3.4, я хочу прочитать html-страницу как строку, учитывая url.
В perl я делаю это с помощью LWP:: Simple, используя get().
Пример matplotlib 1.3.1 говорит: import urllib; u1=urllib.urlretrieve(url)
.
python3 не может найти urlretrieve
.
Я попробовал u1 = urllib.request.urlopen(url)
, который, как представляется, получает объект HTTPResponse
, но я не могу его распечатать или получить длину или проиндексировать его.
u1.body
не существует. Я не могу найти описание HTTPResponse
в python3.
Есть ли атрибут в объекте HTTPResponse
, который даст мне необработанные байты html-страницы?
(Неприемлемые вещи из других вопросов включают urllib2
, который не существует в моих python, csv parsers и т.д.)
Edit:
Я нашел что-то в предыдущем вопросе, который частично (в основном) выполняет работу:
u2 = urllib.request.urlopen('http://finance.yahoo.com/q?s=aapl&ql=1')
for lines in u2.readlines():
print (lines)
Я говорю "частично", потому что я не хочу читать отдельные строки, но только одну большую строку.
Я мог бы просто конкатенировать строки, но каждая напечатанная строка имеет знак "b", добавленный к ней.
Откуда это взялось?
Опять же, я полагаю, что я мог удалить первый символ перед конкатенацией, но это становится kloodge.