【发布时间】:2020-12-28 06:23:51
【问题描述】:
我学习 Python 的基础知识已经有一段时间了,并认为我会继续尝试将一些东西放在一起,但似乎遇到了一个绊脚石(尽管到处寻找我可能的地方会出错)。
我正在尝试从这里抢一张桌子:https://www.oddschecker.com/horse-racing/2020-09-10-chelmsford-city/20:30/winner
现在我意识到该表并未列出正常 HTML 的典型程度,因此尝试使用 Pandas 抓取它不会产生结果。因此深入研究 BeautifulSoup 以尝试获得结果。
似乎我需要的所有数据都在“diff-row evTabRow bc”类中,因此写了以下内容:
url = requests.get('https://www.oddschecker.com/horse-racing/2020-09-10-haydock/14:00/winner')
soup = BeautifulSoup(url.content, 'lxml')
table = soup.find_all("tr", class_="diff-row evTabRow bc")
这似乎将每匹马和我需要的所有相应数据放入一个列表中。在这个列表中,我只需要某些位,即马名的“data-name”和当前赔率的“data-odig”。
我认为可能有某种方法可以从列表中提取数据以构建列表列表,然后在 Pandas 中构建一个数据框,但我可能完全错了。
【问题讨论】:
标签: python python-3.x pandas beautifulsoup