我想制作一个个人的Instagram下载工具。哪个正在使用BeautifulSoup4和Requests库。我只需要输入照片或视频的URL。 Instagram具有不同的图像和视频属性。 对于视频,它们具有og:video;对于图像,它们具有og:image属性。 我只想检查它是否为图像,然后从元数据中收集图像链接。或者,如果是视频,请收集直接视频链接并使用wget下载。
我正在尝试如果property ==“ og:video”: 码 elif属性==“ og:video”: 码 但是,似乎根本不起作用。
import requests
from bs4 import BeautifulSoup
import wget
url = input("Enter Instagram Video/Pic URL: ")
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for data in soup.find_all('meta'):
if soup.find_all('meta', property="og:video"):
x = data["content"]
elif soup.find_all('meta', property="og:image"):
x = data["content"]
wget.download(x)
答案 0 :(得分:1)
在for
循环内,您正在find_all
对象中再次调用soup
方法,您应在其中检入每个data
对象。试试这个:
for data in soup.find_all('meta'):
if data.get('property') == "og:video":
x = data.get("content")
elif data.get('property') == "og:image":
x = data.get("content")