如何下载和阅读带有通用换行符的URL?

时间:2011-11-22 02:37:57

标签: python web web-scraping urllib python-2.7

我在Python 2.7中使用urllib.urlopen,但我需要处理下载的HTML文档及其包含的换行符(在<pre>元素内)。

urllib docs表示urlopen不会使用通用换行符。我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

除非您的磁盘上已有HTML文件,urlopen()将正确处理您想要的HTML文件中的所有新行格式\n\r\n\r)根据{{​​3}}来解析(也就是将它们转换为\n):

  

“如果URL没有方案标识符,或者它有文件:作为方案标识符,则会打开一个本地文件(没有通用换行符)”

E.g。

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

答案 1 :(得分:2)

处理pre代码的内容时,请使用splitlines来规范化行结尾:

'\n'.join(contents.splitlines())