ОБНОВЛЕНИЕ: Я скопировал весь свой код. Я не программист, поэтому, вероятно, он неправильно отформатирован, et c. Команды PRINT в конце предназначены только для проверки того, что я действительно получаю какой-то вывод, я планирую записать в базу данных MySQL, как только у меня все будет работать нормально.
Я пытаюсь почистить некоторые подробности о скачках по указанному ниже URL. Я написал код, который очищает детали гонки - имена лошадей, время и т. Д. c - и по большей части он работает нормально.
Однако по какой-то причине, когда он анализирует URL-адрес в коде ниже, он возвращает ошибку NoneType
после возврата примерно 2/3 записей (после того, как он попадает в гонку 20:05 в Лингфилде).
Я посмотрел на источник и насколько Я вижу, в Div FastResult__item
есть текст (внутри тега). И код возвращает значения для других Winning Trainers (также работает, если я изменяю дату в URL-адресе).
Я не понимаю, почему он возвращает None вместо ожидаемого значения Winning Trainer: Simon Crisford
. Любая помощь будет принята с благодарностью - я ни в коем случае не эксперт в использовании Python, поэтому go просто.
Код (сейчас скопирован весь мой код):
from bs4 import BeautifulSoup
import requests
page = requests.get("https://myracing.com/results/2019-08-03/")
soup = BeautifulSoup(page.text, "html.parser")
race_listings = soup.find_all("article", class_="FastResult")
for a in race_listings:
a_meeting = a.find("h3", class_="FastResult__title")
a_time = a.find("h3", class_="FastResult__title")
a_draw = a.find("span", class_="FastResult__draw_no").text.strip()
a_winning_horse = a.find("span", class_="FastResult__horse-name")
for div in a_winning_horse("sup", {'class':'Racecard__sup-text'}):
div.decompose()
a_winning_jockey = a.find("span", class_="FastResult__jockey-name")
for div in a_winning_jockey("sup", {'class':'Racecard__sup-text'}):
div.decompose()
a_winning_trainer = a.find("div", class_="FastResult__item")
print(a_meeting.text[6:].strip())
print(a_time.text[0:6].strip())
print(a_draw.strip("()"))
print(a_winning_horse.text.strip())
print(a_winning_jockey.text[3:].strip())
print(a_winning_trainer.text.strip())
Ошибка:
Traceback (most recent call last):
File "/Users/andyjarvis/Documents/Python/horse_predictor_v2.py", line 30, in <module>
print(a_winning_trainer.text.strip())
AttributeError: 'NoneType' object has no attribute 'text'