Каждый, кто разбирает HTML, будет подвергать этому типу вопрос. Элемент, который вы ищете, находится во вложенной структуре ... table -> tbody -> tr -> td ... и т. Д.
Однако вам нужно иметь в виду несколько вещей:
(1) Чем детальнее указать путь для поиска элемента. Чем проще ваш код сломается, если вы не будете корректно обрабатывать исключения и фактически, то логика, которую вы найдете, может быть вообще не общей.
(2) Попробуйте найти элементы по уникальному идентификатору или классам вместо рассчитывая на порядок некоторых общих тегов.
(3) Если текст, который вы пытаетесь собрать, следует шаблону. вы можете легко найти его с помощью самого текста, который более прост для программиста ... Тексты - это то, что люди видят на самом деле.
import re
...
print soup.find_all(text=re.compile("pattern"))
# then you can find the element by calling parent of the found texts.
В короткий путь, никогда не следует искать в «TBODY» тега в моей точки зрения ... потому что код во все дни нравится:
<table..>
<tbody>
<tr>
...
</tbody>
<table>
Если вы нашли таблицу уже, вы можете просто сделать
table = soup.find('table'...)
# unless you are trying to not recursively find tr, then you have to find tobody first and find_all(recursive=FALSE)
table.find_all('tr')
'section = soup.find ('tbody')'. '' '' '' '' '' 'tbody' не существует. – falsetru