首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python dataframe中添加图像/缩略图

在python dataframe中添加图像/缩略图
EN

Stack Overflow用户
提问于 2022-10-30 16:56:07
回答 1查看 23关注 0票数 -1

我正在做一个项目,在那里我需要创建一个电影数据库。我已经创建了我的数据库,并从IMDB中导入了将您重定向到网页的链接。我还想添加每部电影的主图片/缩略图,这样我就可以在Power中使用csv了。

然而,我没有做到这一点:

我试过这样做:

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup
import numpy as np

images = []
for i in df_database_url['Url Film']:
    r = requests.get(i)
    soup = BeautifulSoup(r.content, "html.parser")
    images.append(image_url)

但我的目标是有一个列,其中包括每部电影的缩略图。

EN

回答 1

Stack Overflow用户

发布于 2022-11-01 02:38:37

假设i是imdb电影url (以https://www.imdb.com/title开头的那种),您可以针对script标记( 似乎包含 )--这是电影的许多主要信息--您可以通过

代码语言:javascript
复制
# import json
image_url = json.loads(soup.select_one('script[type="application/ld+json"]').text)['image']

或者,如果我们更加谨慎:

代码语言:javascript
复制
# import json

scCont = [s.text for s in soup.select('script[type="application/ld+json"]') if '"image"' in s.text]
if scCont:
    try:
        scCont = json.loads(scCont[0])
        if 'image' not in scCont: 
            image_url = None
            print('No image found for', i)
        else: image_url = scCont['image']
    except Exception as e: 
        image_url = None
        print('Could not parse movie info for', i, '\n', str(e))
else:
    image_url = None
    print('Could not find script with movie info for', i)

(你可以用scCont['trailer']['thumbnailUrl']获得预告片缩略图)

这样,如果路径上的任何信息不可用,就不会引发错误,而是将image_url添加为None;如果您希望它在这种情况下停止并引发错误,请使用第一个版本。

然后,在循环之后,可以使用以下内容添加列

代码语言:javascript
复制
df_database_url['image_urls'] = images

(你可能知道.)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74254996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档