返回信息流Python 把整个网页都抓了下来转成了bytes,但是转成str就看不到图片和视频了。有什么方法可以还原图片和视频吗?
附代码:
#encoding : utf-8
import urllib.request
url = 'www.baidu.com'
content = urllib.request.urlopen(url).read()
f = open('web.html','w')
f.write(content.decode('utf-8')) #bytes to str
f.close()
print ('Done!')
这是一条镜像帖。来源:北邮人论坛 / python / #7330同步于 2015/6/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
[问题]Python完整抓取整个网页(包括图片视频)
jasonkent
2015/6/10镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
首先呢,浏览器和服务器三次握手建立连接后,浏览器请求index.html这个文件,然后server返回这个html文本文件,然后浏览器会解析这个html文件里的链接,每个链接都是一个文件,然后浏览器会重复类似于之前请求index.html的过程来请求这些文件。
如果建立了长连接,也就是keep-alive,就不需要再次握手建立连接了,可以节省握手所需的时间,而且很多浏览器还会并发请求这些链接。还有很多复杂的机制。
楼主看看 http权威指南 吧,或者随便找本讲http的书,应该都会有的
发自「贵邮」
【 在 heamon7 的大作中提到: 】
: 首先呢,浏览器和服务器三次握手建立连接后,浏览器请求index.html这个文件,然后server返回这个html文本文件,然后浏览器会解析这个html文件里的链接,每个链接都是一个文件,然后浏览器会
: .........
另外图片确实可以使用base64编码的字符串保存,视频就不清楚了
发自「贵邮」
【 在 nuanyangyang 的大作中提到: 】
: 你知道浏览器为什么能显示图片吗?要不要先学学网页制作和HTTP协议呢?
暖神有啥好方法嘛?
【 在 heamon7 的大作中提到: 】
: 首先呢,浏览器和服务器三次握手建立连接后,浏览器请求index.html这个文件,然后server返回这个html文本文件,然后浏览器会解析这个html文件里的链接,每个链接都是一个文件,然后浏览器会重复类似于之前请求index.html的过程来请求这些文件。
: 如果建立了长连接,也就是keep-alive,就不需要再次握手建立连接了,可以节省握手所需的时间,而且很多浏览器还会并发请求这些链接。还有很多复杂的机制。
: 楼主看看 http权威指南 吧,或者随便找本讲http的书,应该都会有的
: ...................
Thanks!