到目前为止,这是我的代码(感谢 Martijn Pieters 帮助我找出底部部分!)
from bs4 import BeautifulSoup
from urllib.request import urlopen
url = urlopen("http://sports.yahoo.com/nhl/scoreboard?d=2013-04-01")
content = url.read()
soup = BeautifulSoup(content)
for table in soup.find_all('table', class_='scores'):
for row in table.find_all('tr'):
for cell in row.find_all('td', class_='yspscores'):
print(cell.text)
当我在url
变量中检查网站表的元素时,问题是列(1、2、3 等)的值在同一个类中,称为yspscores
. 我的想法是使用一个if
语句来说明如何处理它们,但是由于它们的类与分数区域中的其余值相同,因此它不起作用。
但是,我还注意到这些数字的宽度 = 24,而它们下面的分数则没有。甚至可以在代码中引用它,以便 Python 可以识别它并以一种简洁的方式将它与其他值分开?