Подтвердить что ты не робот

Красивый суп найти детей для определенного div

Я пытаюсь разобрать веб-страницу, которая выглядит так: Python- > Beautiful Soup: enter image description here

Я пытаюсь извлечь содержимое выделенного td div. В настоящее время я могу получить все divs

alltd = soup.findAll('td')


for td in alltd:
    print td

Но я пытаюсь сузить область этого поиска, чтобы искать tds в классе "tablebox", который по-прежнему будет возвращать 30+, но более управляем числом, чем 300 +.

Как я могу извлечь содержимое выделенного td на картинке выше?

4b9b3361

Ответ 1

Полезно знать, что любые элементы, которые BeautifulSoup находит внутри одного элемента, все еще имеют тот же тип, что и этот родительский элемент, то есть могут быть вызваны различные методы.

Итак, это несколько рабочий код для вашего примера:

soup = BeautifulSoup(html)
divTag = soup.find_all("div", {"class": "tablebox"}):

for tag in divTag:
    tdTags = tag.find_all("td", {"class": "align-right"})
    for tag in tdTags:
        print tag.text

Это будет печатать весь текст всех тегов td с классом "align-right", у которого есть родительский div с классом "tablebox".