如何下载URL长的图片?
How to download image with a long URL length?
我正在尝试从“https://prnt.sc”下载图片,但是图片的 URL 太长了,打印时我也找不到 URL r.content
.
这是我获取 HTML:
的代码
import requests
import random
import string
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.71'
}
register_data = {"path" : "luk111"}
print (register_data)
with requests.Session() as s:
url = 'https://prnt.sc/luk111'
r = s.post(url, json=register_data, headers=headers)
print(r)
print (r.content)
整个url大约有81954个字符,所以我需要一个更好的下载方式。有什么想法吗?
这是我下载 .jpg 图片的代码:
import random
import urllib.request
def download_web_image(url):
name = "xddd"
full_name = "screen/" + str(name) + ".jpg"
urllib.request.urlretrieve(url,full_name)
xd = input("paste url")
download_web_image(xd)
页面上的这个长 url 不是真实的 url 而是 base64
中的图像数据
但首先我在网络浏览器中关闭了 JavaScript
并且我在没有 JavaScript
的情况下检查了这个页面,因为 requests
和 BeautifulSoup
不能 运行 JavaScript。
我看到图像正常url,我可以下载它。
import requests
from bs4 import BeautifulSoup as BS
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.71'
}
with requests.Session() as s:
url = 'https://prnt.sc/luk111'
r = s.get(url, headers=headers)
soup = BS(r.content, 'html.parser')
img_url = soup.find('img', {'id': 'screenshot-image'})['src']
r = s.get(img_url, headers=headers)
with open('temp.png', 'wb') as f:
f.write(r.content)
我正在尝试从“https://prnt.sc”下载图片,但是图片的 URL 太长了,打印时我也找不到 URL r.content
.
这是我获取 HTML:
的代码import requests
import random
import string
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.71'
}
register_data = {"path" : "luk111"}
print (register_data)
with requests.Session() as s:
url = 'https://prnt.sc/luk111'
r = s.post(url, json=register_data, headers=headers)
print(r)
print (r.content)
整个url大约有81954个字符,所以我需要一个更好的下载方式。有什么想法吗?
这是我下载 .jpg 图片的代码:
import random
import urllib.request
def download_web_image(url):
name = "xddd"
full_name = "screen/" + str(name) + ".jpg"
urllib.request.urlretrieve(url,full_name)
xd = input("paste url")
download_web_image(xd)
页面上的这个长 url 不是真实的 url 而是 base64
但首先我在网络浏览器中关闭了 JavaScript
并且我在没有 JavaScript
的情况下检查了这个页面,因为 requests
和 BeautifulSoup
不能 运行 JavaScript。
我看到图像正常url,我可以下载它。
import requests
from bs4 import BeautifulSoup as BS
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.71'
}
with requests.Session() as s:
url = 'https://prnt.sc/luk111'
r = s.get(url, headers=headers)
soup = BS(r.content, 'html.parser')
img_url = soup.find('img', {'id': 'screenshot-image'})['src']
r = s.get(img_url, headers=headers)
with open('temp.png', 'wb') as f:
f.write(r.content)