Как я могу скачать и прочитать URL с универсальными символами новой строки?
Я использовал urllib.urlopen
с Python 2.7, но мне нужно обработать загруженный документ HTML и содержащиеся в нем новые строки (в пределах <pre>
элемент).
Документы urllib указывают, что urlopen не будет использовать универсальные переводы строк. Как я могу это сделать?
2 ответа
Если файл HTML уже не находится на вашем диске, urlopen()
будет корректно обрабатывать все форматы новых строк (\n
, \r\n
а также \r
) в файле HTML, который вы хотите проанализировать (то есть он преобразует их в \n
), в соответствии с документами urllib:
"Если URL-адрес не имеет идентификатора схемы или если у него есть файл: в качестве идентификатора схемы открывается локальный файл (без универсальных символов новой строки)"
Например
>>> from urllib import urlopen
>>> urlopen("http://****.com/win_new_lines.htm").read()
'line 1\nline 2\n\n\nline 3'
>>> urlopen("http://****.com/unix_new_lines.htm").read()
'line 1\nline 2\n\n\nline 3'
Когда вы обрабатываете содержимое pre
теги, используйте разделительные линии, чтобы нормализовать окончания строк:
'\n'.join(contents.splitlines())