【发布时间】:2021-06-02 02:21:37
【问题描述】:
我正在尝试从 rotowire 获取 MLB 比赛赔率和总得分。我尝试了两种方法,虽然我可以接近,但不能完全弄清楚我接下来需要做什么。第一种方法看起来我需要刮掉子类“复合隐藏”。我采取的另一种方法返回了一堆新行和其他额外字符,尽管我试图只获取文本并将它们删除。
from bs4 import BeautifulSoup
import requests
url = 'https://www.rotowire.com/baseball/daily-lineups.php'
r = requests.get(url)
soup = BeautifulSoup(r.text, "html.parser")
##First approach
oddsData = soup.find_all('div', {'class': 'lineup__odds-item'})
print(oddsData)
#Second approach
gameOdds = [g.text.strip() for g in oddsData]
print(gameOdds)
第一种方法返回以下内容。我只想要 CLE -165 和 7.0 运行。
[<div class="lineup__odds-item">
<b>LINE</b>
<span class="composite hide">CLE -165</span>
<span class="fanduel">–</span>
<span class="draftkings hide">–</span>
<span class="betmgm hide">–</span>
<span class="pointsbet hide">–</span>
</div>, <div class="lineup__odds-item">
<b>O/U</b>
<span class="composite hide">7.0 Runs</span>
<span class="fanduel">–</span>
<span class="draftkings hide">–</span>
<span class="betmgm hide">–</span>
<span class="pointsbet hide">–</span>
第二种方法返回以下内容。
['LINE\xa0\r\n CLE -165\n–\n–\n–\n–', 'O/U\xa0\r\n 7.0 Runs\n–\n–\n–\n–'
【问题讨论】:
-
我可以看到输出吗?比如举个例子说明缺少什么以及你想删除什么
-
@AstronomyComputing 我已经编辑了问题以显示返回的内容。
-
您想在该 div 标签中查找什么文本或所有这些文本?
标签: python html web-scraping python-requests