python 网页下载附件,没有后缀名该怎么办
任务:访问的网站有附件,要下载附件。python语言
问题:有两种情况,
第一种情况是取不到后缀名,如http://www.gzsjzyxh.cn/news_d...,附件链接可以获取到,但没有后缀名,在本地写的时候就是个没有后缀名的文件,不能判断是什么类型的文件;
第二种情况是附件链接上的后缀名和实际文件类型不一样,如http://www.gzsjzyxh.cn/news_d...,附件链接的后缀名明明是zip,但下下来后附件是xls。
以前碰到的,都是附件链接跟着后缀名的。常用的下载方式,无论是requests还是urllib2,都是先访问附件链接,然后将内容写到本地,但现在能访问这个附件链接,写本地这个步骤却没有写明后缀名,就下了个没类型的文件,对后面的操作有影响。
不知道有没有大神知道该怎么操作,或是知道这样奇怪的链接访问获取到相应类型的文件是怎么个原理么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果你抓包就会发现链接头部是有后缀名的:
r=requests.head(url)
print r.headers['Content-Disposition']
返回attachment; filename="2015年度贵州省建筑业企业优秀项目经理名单.xls"
你可以试一下用unix的wget下载后找增加的文件名。这样就能找到正确的后缀。
如果一定要纯python实现的话,你可以试一下wget包