gpt4 book ai didi

python - soup.select() 中的 CSS 选择器返回 null

转载 作者:太空宇宙 更新时间:2023-11-04 01:50:31 25 4
gpt4 key购买 nike

我正在学习网络抓取,并希望从网页中获取与我在 soup.select("css locators") 中传递的 css 相匹配的数据。当我检查网页中的 css 定位器时,它突出显示了正确的元素,但是当我在 soup.select() 方法中使用相同的元素时,它返回 none 或 0。

  1. 我正在从网站检索数据:https://www.prokabaddi.com/teams/bengaluru-bulls-profile-1

  2. 用于从上述网站获取数据的 Css 选择器:.si-section-header > span.si-title

  3. 当我在浏览器中检查网页时使用上面的 css 它工作正常但是当我在 soup.select(".si-section-header > span.si-title") 中使用相同的时 方法返回 none 或 0

# code sample 
import requests
import bs4

URL = "https://www.prokabaddi.com/teams/bengaluru-bulls-profile-1"
r = requests.get(URL)

soup = BeautifulSoup(r.content, 'html.parser')
a = soup.select('.si-section-header > span.si-title')
Print(a)

我希望输出返回 CSS 选择器突出显示的值。在本例中,CSS 突出显示了 3 个值,因此我希望它在我执行上述代码时打印所有这三个值。

最佳答案

大量内容是动态添加的,不会包含在您的初始请求中。您正在查看的元素是从另一个资源中提取的模板的一部分。您可以在刷新页面时在网络选项卡中找到它。

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('https://www.prokabaddi.com/static-assets/kabaddi/views/kwl-team-stats-partial.html?v=1.064')
soup = bs(r.content, 'lxml')
print([i.text for i in soup.select('.si-title')])

关于python - soup.select() 中的 CSS 选择器返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58149512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com