1、纯文本
from urllib.request import urlopentext = urlopen("http://www.pythonscraping.com/pages/warandpeace/chapter1.txt")print(text.read()) #但是要注意文本编码,常见ASCII,UNICODE和ISO编码,其中常见的是UTF-8,但是也有少数是ISO,在HTML页面网站会在部分显示编码格式(charset)
2、将字符串转换为utf-8格式
from urllib.request import urlopentext = urlopen("http://www.pythonscraping.com/pages/warandpeace/chapter1-ru.txt")print(str(text.read(),"utf-8"))
3、CSV文件最好是从网上直接把文件读成一个字符串,然后转为一个StringIO文件,使它具有文件的属性,这样就不必占有本地内存了
from urllib.request import urlopenfrom io import StringIOimport csvdata = urlopen("http://pythonscraping.com/files/MontypythonAlbums.csv").read().decode("ascii","ignore")datefile = StringIO(data)csvreader = csv.reader(datefile)for row in csvreader: print(row)
对于以上代码,有时候会对输出的结果的第一行进行删除,可以使用以下代码
from urllib.request import urlopenfrom io import StringIOimport csvdata = urlopen("http://pythonscraping.com/files/MontypythonAlbums.csv").read().decode("ascii","ignore")datefile = StringIO(data)dictreader = csv.DictReader(datefile)#这个函数会把CSV文件每一行转换成字典对象返回,而不是列表对象print(dictreader.fieldnames)for row in dictreader: print(row)