从 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 属性 图像字符串中的文本并且有效