Python3下载rar文件打开报错求解,python3rar,点击某个链接后就可以下载
Python3下载rar文件打开报错求解,python3rar,点击某个链接后就可以下载
点击某个链接后就可以下载文件
代码如下:
import requestsimport osimport urllib.requesturl = 'http://www.hacker.com.cn/index.php?m=content&c=down&a=download&a_k=bd8dBFECVFYCUlUBAQJbAw5VBF0MAgJVUQIICAkPBQoGBQASBQ9VQEFfQ0UMVQwCDlVRDwEDABFZQw0NAEgKCB8EBxpQBF1AX19UF1dZUEVMFFsXF0VHQB5bUVtTA0oWUl5aGgJcSxNCDgpQVQJRXV1LUwgJBx8HBQEFFwpWCQ0BBAUBUANRVQdaVwUBSkpQSkIMV1xXXF5UDgI'req = urllib.request.Request(url)data = urllib.request.urlopen(req)urllib.request.urlretrieve(url,"test.rar")
下载后打开提示如下:
于是我继续用了Requests库去下载
import requestsimport osimport urllib.requesturl = 'http://www.hacker.com.cn/index.php?m=content&c=down&a=download&a_k=bd8dBFECVFYCUlUBAQJbAw5VBF0MAgJVUQIICAkPBQoGBQASBQ9VQEFfQ0UMVQwCDlVRDwEDABFZQw0NAEgKCB8EBxpQBF1AX19UF1dZUEVMFFsXF0VHQB5bUVtTA0oWUl5aGgJcSxNCDgpQVQJRXV1LUwgJBx8HBQEFFwpWCQ0BBAUBUANRVQdaVwUBSkpQSkIMV1xXXF5UDgI'f = requests.get(url)with open("code.rar","wb") as code: code.write(f.content)
结果还是一样的
总结:无论是urlretrieve 还是直接open文件写入都是不对,,求解。。。
----------------------------问题已解决--------------------------------
问题反馈:
问题已解决如下:加入cookie访问下载链接,可以成功下载,附代码
import requestsimport osimport re#黑客防线杂志——杂志下载页面info_url='http://www.hacker.com.cn/show-7-2747-1.html'#加入headersheads={ 'Referer': 'http://www.hacker.com.cn/show-7-2747-1.html', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 LBBROWSER' }#保持cookies = requests.Session()data = s.get(info_url)data = data.text#正则提取下载地址pattern = re.compile('<h5 class="tit">下载地址</h5>.*?<li><a href=\'(.*?)\' target.*?',re.S)download_page = re.findall(pattern,data)download_page = download_page[0]r= s.get(download_page)r = r.text#进入下载地址后,再次正则提取下载链接pattern_down = re.compile('<a href="(.*?)" class="xzs_btn"></a>',re.S)download_url = re.findall(pattern_down,r)download_url = download_url[0]download_url = 'http://www.hacker.com.cn/index.php'+download_urlfile = s.get(download_url)#二进制形式写入文件with open('mybook.rar','wb') as code: code.write(file.content)
浏览器打开参数错误,这个时候,你用文本编辑器打开就会发现是一个 HTML 文件了
直接用浏览器打开你下载的网址,发现这并不是一个rar文件哦,返回的是一个网页
如果这的确是一个rar文件的话,或许需要登录,在请求中加入COOKIE才能下载
编橙之家文章,
相关内容
- Python2.7转义问题例如x='C:\py\code'如何操作,python2.7py,我
- 《learn python the hard way》这句话理解和翻译是什么,,翻
- 求Python celery原理大神帮解释,pythoncelery,什么是异步任
- Python判断编码不是很理解,python判断编码,pythondef is
- 问Python中open函数是一次性载入内存吗,pythonopen,背景:
- win7 64 python pip安装遇到问题求助,win7pip,我的python是2
- Python方法想知道某个变量是否存在如何求证,python求证
- 请问ubuntu安装命令sudo apt-get install python-pip报错解决方法
- Python第三方库文档什么方法学习最有效果,python第三方
- Flask应用分层MVC怎么分解比较好,flask分层mvc分解,当项
评论关闭