Как то так?
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html)
anchors = [td.find('a') for td in soup.findAll('td')]
Это должно найти первое «a» внутри каждого «td» в предоставленном вами html. Вы можете настроить td.find
, чтобы быть более точным, или использовать findAll
, если у вас есть несколько ссылок внутри каждого тд.
ОБНОВЛЕНИЕ: в комментарии Даниэля, если вы хотите убедиться, что у вас нет None
в списке, вы можете изменить его понимание следующим образом:
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html)
anchors = [a for a in (td.find('a') for td in soup.findAll('td')) if a]
Который в основном просто добавляет проверку, чтобы увидеть, есть ли у вас фактический элемент, возвращаемый td.find('a')
.