gpt4 book ai didi

python - 如何使用 BeautifulSoup 抓取 'Click to Display' 字段

转载 作者:行者123 更新时间:2023-11-30 22:49:14 25 4
gpt4 key购买 nike

我正在尝试从verbalcommits.com 上抓取篮球运动员收到录取通知书的学校数量和学校名称

以此页面为例:http://www.verbalcommits.com/players/jarrey-foster

访问第一个优惠 (SMU) 很容易,但所有其他优惠都隐藏在“显示其他优惠”按钮后面。当我检查页面时,我可以看到优惠,但我的抓取工具无法访问它们。我一直在使用以下内容:

page=urllib.request.urlopen("http://www.verbalcommits.com/players/jarrey-foster") #opens page    
soup = BeautifulSoup(page, 'html.parser') #makes page into a BS python object
schools = soup.body.findAll('span',{"class":"team_name"})
print(schools)

这将返回第一个包含团队名称的范围,但不会返回其余隐藏的范围。我需要添加什么才能访问隐藏页面的其余部分?

最佳答案

详细说明@furas's great answer 。以下是如何提取玩家 ID 并发出第二个请求以获取“已关闭报价”的方法。为此,我们将通过请求维护一个网络抓取 session :

import requests
from bs4 import BeautifulSoup


with requests.Session() as session:
response = session.get("http://www.verbalcommits.com/players/jarrey-foster")

# get the player id
soup = BeautifulSoup(response.content, "html.parser")
player_id = soup.select_one("h1.player-name").get("data-player-id")

# get closed offers
response = session.get("http://www.verbalcommits.com/player_divs/closed_offers", params={"player_id": player_id})

soup = BeautifulSoup(response.content, "html.parser")

# print team names
for team in soup.select(".team_name"):
print(team.get_text())

出于演示目的打印团队名称:

UTEP
Sam Houston State
New Hampshire
Rice
Temple
Liberty
UL Lafayette

关于python - 如何使用 BeautifulSoup 抓取 'Click to Display' 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39863607/

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