Python 美丽的汤不拉一个网页的所有html

Python 美丽的汤不拉一个网页的所有html,python,html,beautifulsoup,Python,Html,Beautifulsoup,我正在练习使用beautifulsou。我正在尝试从该网站获取足球运动员图像的图像地址: 当我检查代码时,具有imgsrc的部分如下所示: <div class="dataBild"> <img src="https://tmssl.akamaized.net//images/portrait/header/195652-1456301478.jpg?lm=1456301501" title="Jordon Ibe" alt="Jordon Ibe" class

我正在练习使用
beautifulsou
。我正在尝试从该网站获取足球运动员图像的图像地址:

当我检查代码时,具有
img
src
的部分如下所示:

    <div class="dataBild">
    <img src="https://tmssl.akamaized.net//images/portrait/header/195652-1456301478.jpg?lm=1456301501" title="Jordon Ibe" alt="Jordon Ibe" class="">
<div class="bildquelle"><span title="imago">imago</span></div>            
</div>
它运行,但不输出任何内容。所以我只是通过运行
print(soup)

这个输出

<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr/><center>nginx</center>
</body>
</html>

404找不到
404找不到

nginx
所以它显然不是从网页中提取所有HTML?
为什么会这样?我查找
div class=DataBild sound
的逻辑是什么?

该站点似乎在检查请求的
用户代理
头是否有效

因此,您需要添加如下标题:

import urllib3
import certifi

url = 'https://www.transfermarkt.com/jordon-ibe/profil/spieler/195652'
http = urllib3.PoolManager(cert_reqs='CERT_REQUIRED', ca_certs=certifi.where())
response = http.request('GET', url, headers={'User-Agent': 'Mozilla/5.0'})
print(response.status)
这将打印
200
。如果删除标题,将得到
404

任何非空的
用户代理
值(在删除空白后)似乎都可以工作

<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr/><center>nginx</center>
</body>
</html>
import urllib3
import certifi

url = 'https://www.transfermarkt.com/jordon-ibe/profil/spieler/195652'
http = urllib3.PoolManager(cert_reqs='CERT_REQUIRED', ca_certs=certifi.where())
response = http.request('GET', url, headers={'User-Agent': 'Mozilla/5.0'})
print(response.status)