Я учусь изучать веб-страницы с помощью Python (3.7) и BS4, извлекая данные из веб-сайта результатов скачек. Веб-сайт http://racing.hkjc.com/racing/Info/Meeting/Results/English/Local/20080412/ST/5
Вот часть моего кода. Основная цель - получить данные из таблицы> tbody> tr> td. Класс стола {'class': 'tableBorder trBgBlue tdAlignC number12 draggable'}
import urllib.request
from bs4 import BeautifulSoup
theURL = "http://racing.hkjc.com/racing/Info/Meeting/Results/English/Local/20080412/ST/5"
thePage = urllib.request.urlopen(theURL)
soup = BeautifulSoup(thePage, "html.parser")
table = soup.find('table', {'class': 'tableBorder trBgBlue tdAlignC number12 draggable'})
tBody = table.find('tbody')
for tRows in tBody.find_all('tr'):
# Get the td.text
Иногда я могу получить все данные внутри таблицы и записать в CSV-файл. Но иногда будет вызвана следующая ошибка.
Traceback (most recent call last):
File "K:/fyp/raceRecord.py", line 32, in <module>
tBody = table.find('tbody')
AttributeError: 'NoneType' object has no attribute 'find'
Я понимаю, что эта ошибка будет вызвана тем, что table.find('tbody')
возвращает None
. Однако я не знаю, почему иногда код работает, а иногда нет. Это потому, что страница все еще загружается table.find('tbody') = None
? Благодарю.