Python读取文件地址下载

最近手头有个小项目,需要使用到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多个,不明白问题在哪里,茫然。。。。


发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)

sitemap