我正在尝试从urllib.request响应中获取指向图像的链接。
我正在尝试从此页面获取内容:https://drscdn.500px.org/photo/27428737/m%3D900/v2?webp=true&sig=3d3700c82ea515ecc0b66ca265d6909d67861fbe055c0e817b535f75b21c7ebf 并对其进行解码,但解码("utf-8")方法给了我错误:"utf-8"编解码器无法解码位置 0 的字节0xff:无效的起始字节。我已经在浏览器控制台中使用 document.characterSet 检查了页面编码,它与 utf-8 编码匹配。
def ex4():
url = sys.argv[1]
r = re.compile(b"<img .*? src="([^"])*" (.*?)*>")
try:
resource = urllib.request.urlopen(url)
response = resource.read().decode("utf-8")
print(response)
obj = r.search(response)
if obj:
print(obj.group(1))
else:
print("not found")
except Exception as e:
print("error: ", e)
ex4()
您将获得二进制图像,因此您可以直接保存或处理图像。
例如:
url = 'https://drscdn.500px.org/photo/27428737/m%3D900/v2?webp=true&sig=3d3700c82ea515ecc0b66ca265d6909d67861fbe055c0e817b535f75b21c7ebf'
resource = urllib.request.urlopen(url)
response = resource.read()
with open('/tmp/foo.jpg', 'wb') as f:
f.write(response)
你想实现什么?获取图像并将其保存在文件上?如果是,只需将其保存在文件中
def ex4():
url = sys.argv[1]
try:
resource = urllib.request.urlopen(url)
response = resource.read()
with open('img.png', 'wb') as f:
f.write(a)
except Exception as e:
print("error: ", e)
ex4()