首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >美丽的汤奇怪地返回‘/photo-missing.png.png’

美丽的汤奇怪地返回‘/photo-missing.png.png’
EN

Stack Overflow用户
提问于 2019-01-04 05:43:03
回答 1查看 56关注 0票数 1

我正在尝试自动从www.premierleague.com网站下载玩家图像。我现在面临的问题是,当我使用BeautifulSoup解析球员照片的img src时,它返回的是"photo-missing.png“。

当您检查html时,您可以看到它被称为p51490.png !?而不是“photo-missing.png.png”

我的代码如下:

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

player_page = requests.get('https://www.premierleague.com/players/4330/David-De-Gea/overview')
soup = BeautifulSoup(player_page.text, 'html.parser')
print(soup.find(class_="imgContainer"))

其输出结果如下:

代码语言:javascript
复制
 <div class="imgContainer"><img alt="David De Gea" class="img" data- 
    player="p51940" data-script="pl_player-image" data-size="250x250" data- 
    widget="player-image" src="//platform-static- 
    files.s3.amazonaws.com/premierleague/photos/players/250x250/Photo- 
    Missing.png"/></div>

我想知道有没有人知道为什么会这样?

EN

Stack Overflow用户

回答已采纳

发布于 2019-01-04 14:00:11

它是由JS自动生成的,可能是为了防止抓取。但是你可以用p51490替换Photo-Missing,这个值保存在data-player属性中。

代码语言:javascript
复制
soup = BeautifulSoup(player_page.text, 'html.parser')
# using CSS selector
img = soup.select_one('.imgContainer img')
img['src'] = img['src'].replace('Photo-Missing', img['data-player'])
print(img)
print(img['src'])
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54030214

复制
相关文章

相似问题

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