从 Instagram 下载图片时出错
Error While downloading image from instagram
大家好,我的方案无效,此代码有很多错误
我只是想根据给定的 url 制作一个简单的 instagram 图片下载器
这是代码
import requests
from bs4 import BeautifulSoup
def get_response(url):
r = requests.get(url)
while not r.ok:
return r.status_code
return r.text
url = input('Enter Instagram URL: ')
response = get_response(url)
soup = BeautifulSoup(response,"lxml")
image = soup.find("meta", property="og:image")
image = str(image)
image = image.replace("amp;","")
print(image) ### Here is working fine when you click printed link it works
r = requests.get(image) ### Problem is at here
with open('cat3.jpg', 'wb') as f:
f.write(r.content)
# https://www.instagram.com/p/CL1TxMRlhe7/ #sample cat image
此处列出错误
Traceback (most recent call last):
File "D:\Python öğreniyorum\ana_dosya.py", line 20, in <module>
r = requests.get(image) ### Problem is at here
File "C:\Users\Pc\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\Pc\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\Pc\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\Pc\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 649, in send
adapter = self.get_adapter(url=request.url)
File "C:\Users\Pc\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 742, in get_adapter
raise InvalidSchema("No connection adapters were found for {!r}".format(url))
requests.exceptions.InvalidSchema: No connection adapters were found for '<meta content="https://instagram.fsaw3-1.fna.fbcdn.net/v/t51.2885-15/e35/s1080x1080/155344637_426370308591690_7809000723152066300_n.jpg?tp=1&_nc_ht=instagram.fsaw3-1.fna.fbcdn.net&_nc_cat=106&_nc_ohc=sP6bYsFdL_0AX8yIuXZ&oh=a7e381762b429e6c7b3b494b510ca166&oe=60790CBF" property="og:image"/>'
如错误消息的最后一行所示,您正在尝试向 URL 发送无效的请求。它无效,因为它包含 HTML 标记 meta
。您必须获取 HTML 代码的 content
属性中的 URL。
这是获取 Instagram 图片 URL 所需的代码:
image = soup.find("meta", property="og:image")["content"]
谢谢大家我解决了
快速修复是 trim 元内容和 og 属性 图像字符串中的文本并且有效
大家好,我的方案无效,此代码有很多错误
我只是想根据给定的 url 制作一个简单的 instagram 图片下载器 这是代码
import requests
from bs4 import BeautifulSoup
def get_response(url):
r = requests.get(url)
while not r.ok:
return r.status_code
return r.text
url = input('Enter Instagram URL: ')
response = get_response(url)
soup = BeautifulSoup(response,"lxml")
image = soup.find("meta", property="og:image")
image = str(image)
image = image.replace("amp;","")
print(image) ### Here is working fine when you click printed link it works
r = requests.get(image) ### Problem is at here
with open('cat3.jpg', 'wb') as f:
f.write(r.content)
# https://www.instagram.com/p/CL1TxMRlhe7/ #sample cat image
此处列出错误
Traceback (most recent call last):
File "D:\Python öğreniyorum\ana_dosya.py", line 20, in <module>
r = requests.get(image) ### Problem is at here
File "C:\Users\Pc\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\Pc\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\Pc\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\Pc\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 649, in send
adapter = self.get_adapter(url=request.url)
File "C:\Users\Pc\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 742, in get_adapter
raise InvalidSchema("No connection adapters were found for {!r}".format(url))
requests.exceptions.InvalidSchema: No connection adapters were found for '<meta content="https://instagram.fsaw3-1.fna.fbcdn.net/v/t51.2885-15/e35/s1080x1080/155344637_426370308591690_7809000723152066300_n.jpg?tp=1&_nc_ht=instagram.fsaw3-1.fna.fbcdn.net&_nc_cat=106&_nc_ohc=sP6bYsFdL_0AX8yIuXZ&oh=a7e381762b429e6c7b3b494b510ca166&oe=60790CBF" property="og:image"/>'
如错误消息的最后一行所示,您正在尝试向 URL 发送无效的请求。它无效,因为它包含 HTML 标记 meta
。您必须获取 HTML 代码的 content
属性中的 URL。
这是获取 Instagram 图片 URL 所需的代码:
image = soup.find("meta", property="og:image")["content"]
谢谢大家我解决了 快速修复是 trim 元内容和 og 属性 图像字符串中的文本并且有效