从网址

时间:2017-04-18 17:02:31

标签: python python-3.x urllib

我知道这是从互联网上检索图片或音频文件的最佳方式:

import urllib.request
req = urllib.request.urlretrieve('https://www.spriters-resource.com/download/6866/', 'mario-kart.png')

但是有更低级别的方式吗?我想从URL检索图像数据并将其存储在字节流中而不是存储在文件中。

2 个答案:

答案 0 :(得分:1)

Socket是一个低级网络库,可以做你要求的:

https://docs.python.org/3/library/socket.html

答案 1 :(得分:0)

使用' urlopen'方法:

import urllib.request
data = urllib.request.urlopen("https://www.spriters-resource.com/download/6866/").read()

或者使用socket:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("spriters-resource.com", 80))
s.send(b"GET /download/6866/ HTTP/1.0\r\nHOST: spriters-resource.com\r\n\r\n")

data = bytearray(s.recv(1024))
while b"\r\n\r\n" not in data:
    data += s.recv(1024)

file = bytes(data)