Я пытаюсь очистить https://www.betexplorer.com/soccer/england/premier-league/fixtures/, чтобы извлечь текст, содержащийся в теге 'a', в частности, внутри таблицы с классом "table-main", а затем для каждой строки в этом.Первый тд содержит текст с именами двух команд, с тд классом "h-text-left".Не уверен, что проблема связана с моим циклом или нет, но сообщение об ошибке, которое я получаю, кажется, что я неправильно использую bs4 в своей последней строке цикла.
Я могу очистить каждый tr в таблице с классом,"table-main", затем, кроме того, каждый тд с классом, "h-text-left".Хотя я пытаюсь извлечь один из элементов 'a', даже текст 'a'.
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent':
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36'}
r = requests.get('https://www.betexplorer.com/soccer/england/premier-league/fixtures/', headers=headers)
c = r.content
soup = BeautifulSoup(c)
fixture_table = soup.find('table', attrs = {'class': 'table-main'})
for tr in soup.find_all('tr'):
match_tds = tr.find_all('td', attrs = {'class': 'h-text-left'})
matches = match_tds.find_all('a')
Последняя строка, когда я пытаюсь найти все отключения тегов 'a'следующая ошибка:
... matches = match_tds.find_all('a')
...
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
File "C:\Users\Glypt\AppData\Local\Programs\Python\Python36-32\lib\site-packages\bs4\element.py", line 1884, in __getattr__
"ResultSet object has no attribute '%s'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?" % key
AttributeError: ResultSet object has no attribute 'find_all'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?
>>>