最近手头有个小项目,需要使用到Python抓取内容
就研究了一下Python的写法,读取一个文本文件里的内容(资源网址)
形如:
https://cos.tiantiancaige.com/c018e6424d32e00c66514bc525df4b8d_song_1.mp3 https://cos.tiantiancaige.com/00a9a8df1d30a43e8c046e54f068f45f_song_2501.mp3 https://cos.tiantiancaige.com/07200a9392a7ebe4486ac5b736bcd378_song_3.mp3 https://cos.tiantiancaige.com/a822eb45f57c7f410c83072ea786251c_song_4.mp3 https://cos.tiantiancaige.com/8e0662ea74bc9a58a3385b5f59f97e2b_song_5.mp3
每行一个资源地址,想要使用Python来获取资源到本地,写了一点代码,英国还有优化余地,不知道怎么弄了
记录一下吧
import os import requests list = open("d:/filelist.sql","r",encoding="utf-8") count = 1 filepath = "d:/" #目录记得带有/ while count < 6645: add = list.readlines(count)[0] filename = "".join([str(x) for x in os.path.basename(add).rsplit(" ")]) #获取文件名称转存到本地 url = "".join([str(x) for x in str(add[0:-1]).rsplit(" ")]) print(type(url)) temp = requests.get(url, stream=True) #使用requests获取内容 with open(filepath+filename,"wb") as file: file.write(temp.content) #写入到文件 count = count+1 list.close() #关闭文件
记录完了,就这样吧。不知道为什么会有IndexError,可能是我的文本文件的行数太多了,导致内存溢出了?
,进行异常捕获会出现IndexError。下载后6644行只下载了4400多个,不明白问题在哪里,茫然。。。。
发表评论