使用Socket下载图片

阿里云2000元红包!本站用户参与享受九折优惠!

Socket下载一张图片

 

在百度搜索头像,挑一张

 复制图片的路径打开,并保存这个url

把这个url的域名和路径分开

 

 首先导入socket模块

 

 第一步:创建套接字客户端

 

 第二步:发起连接,connect()参数填域名和端口,http协议端口默认为80

 

 第三步:构造报文

 

报文里的URL就是一开始从图片地址将域名和路径分出来的,然后将报文写在一行

 

 第四步:发送HTTP请求

 此时运行会报错

因为Socket 发送和接收的都是bytes的数据,需要字节对象,现在的还是字符串,通过encode()编码

 

 第五步:循环接收响应的内容

 因为不知道响应的内容具体有多少,每次从管道中取出1024字节,取完为止,然后可以打印出res,看看接收到的数据

 

 第六步:通过正则匹配图片的内容(去掉响应头)

 这个也得用bytes的数据去匹配,匹配完返回的类型是一个列表

 

最后一步:把图片写入到本地

 图片的内容本身就是二进制,就不用decode()解码了

 

https://www.cnblogs.com/jiyu-hlzy/p/11746292.html

Python量化投资网携手4326手游为资深游戏玩家推荐:《高颜值男神降临 《神都夜行录》全新SSR妖灵烛龙全解析!

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论