( Редактировать : очевидно, что HTML, который опубликовал ОП, лежит - на самом деле нет тега tbody
, который нужно искать, хотя он и сделал это целью включения в этот HTML. использовать table
вместо tbody
).
Поскольку может быть несколько строк таблицы, которые вы хотите (например, посмотрите родственный URL-адрес того, который вы даете, с последней цифрой 4, замененной на 5), я предлагаю цикл, такой как:
# locate the table containing a cell with the given text
owner = re.compile('Owner Name')
cell = soup.find(text=owner).parent
while cell.name != 'table': cell = cell.parent
# print all non-empty strings in the table (except for the given text)
for x in cell.findAll(text=lambda x: x.strip() and not owner.match(x)):
print x
это достаточно устойчиво к незначительным изменениям в структуре страницы: обнаружив интересующую ячейку, он зацикливает своих родителей до тех пор, пока не найдет тег таблицы, а затем перебирает все строки в этой таблице, которые не являются пустыми (или просто пробелами) ), исключая заголовок owner
.