我只是在玩游戏并尝试使用python与请求和beautifulsoup学习网页抓取。我无法像我试图遵循的一些说明那样循环。
我想要完成的只是输出日期,以及此页面中的团队列表:http://www.vegasinsider.com/mlb/odds/las-vegas/
这是我的代码:
tf.keras
尝试执行时,它将首先在" from datetime import datetime
from flask import render_template
from testApp import app
from bs4 import BeautifulSoup
import requests
source = requests.get('http://www.vegasinsider.com/mlb/odds/las-vegas/').text
soup = BeautifulSoup(source, "lxml")
tbl = soup.find('table', class_='frodds-data-tbl')
for matchups in tbl.find_all('td', class_= 'viCellBg1'):
gameDate = matchups.span.text
print(gameDate)
team = matchups.b.a.text
print(team)
print()
"的设置上失败。变量gameDate
我的印象是,一旦我拥有了我想要定位的对象,我就可以循环并级联标记以找到我要查找的文本,但这并不起作用。
有人可以查看我上面的代码并告诉我我做错了什么吗?我非常感谢对此的任何帮助和见解,因为我很新。
谢谢!
答案 0 :(得分:1)
你可以检查比赛中是否存在范围,试试这个:
source = requests.get('http://www.vegasinsider.com/mlb/odds/las-vegas/').text
soup = BeautifulSoup(source, "html.parser")
tbl = soup.find('table', class_='frodds-data-tbl')
for matchups in tbl.find_all('td', class_= 'viCellBg1'):
if matchups.span is not None:
gameDate = matchups.span.text
print(gameDate)
for b_ in matchups.find_all('b'):
print(b_.a.text)