Python: Как мне очистить ESPN для игровых матчей - PullRequest
0 голосов
/ 16 декабря 2018

Довольно плохо знаком с программированием, извинения - вопрос широкий.

import requests
from bs4 import BeautifulSoup

def data():
    League = ['nba', 'nfl', 'mlb']
    url = f"http://www.espn.com/{League[0]}/schedule"
    response = requests.get(url)
    soup = BeautifulSoup(response.content, "html.parser")
    date = soup.find('h2',{'class':'table-caption'})
    return date.string

Это то, что я имею до сих пор, но то, что я хотел бы сделать, это очистить матчи на этот день, так что получается:

>>> 'Los Angeles Lakers at Charlotte Bobcats 7:00PM'
>>> 'Boston Celtics at Detroit Pistons 7:00PM'

Я вижу, что вся информация там, но я не знаю, как перебирать строки и извлекать данные, когда они не являются строкой.Я понимаю, что это широко, и многое просить.Извините заранее!

1 Ответ

0 голосов
/ 16 декабря 2018

Я думаю, что SO-сообщество иногда слишком сурово для начинающих.

Вот способ, с помощью которого вы можете найти результаты таблицы и извлечь названия команд для дома и на выезде:

for row in soup.select("table.schedule tbody tr"):
    home_team, away_team = row.select(".team-name")

    print(home_team.get_text(), away_team.get_text())

Идеяздесь нужно использовать CSS-селектор , чтобы найти строки таблицы, перебрать каждую строку и получить два элемента с классом team-name.


В целом процесс придумывания чего-либокак это относительно просто:

  • проверьте нужный элемент в инструментах разработчика браузера
  • подумайте о том, что вы можете использовать, чтобы найти этот элемент - что-то, что однозначно идентифицирует этот элемент (например, lookв этом супер явном team-name классе)
  • написать (в данном случае) код Python / BeautifulSoup, чтобы попытаться найти этот элемент
  • повторить, пока работает

просто высокий уровень, но надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...