Как определить findAll для html вложенных тегов с помощью Beautifulsoup - PullRequest
2 голосов
/ 07 февраля 2011

С учетом

<a href="www.example.com/"></a>

<table class="theclass">
<tr><td>
<a href="www.example.com/two">two</a>
</td></tr>
<tr><td>
<a href ="www.example.com/three">three</a>
<span>blabla<span>
</td></td>
</table>

Как я могу очистить только то, что находится внутри таблицы class = "the class"? Я пытался использовать

soup = util.mysoupopen(theexample) 
infoText = soup.findAll("table", {"class": "the class"})

но я не знал, как еще определить определение заключения. Что-то еще, что я пробовал, превращал результат findAll () в массив. Потом искал закономерности появления иглы, но я не мог найти закономерность. Спасибо

Ответы [ 2 ]

4 голосов
/ 07 февраля 2011

Если я понял твой вопрос.Это код Python, который должен работать.Итерация для нахождения всех таблиц с class = "theclass", затем поиск ссылок внутри.

2 голосов
/ 07 февраля 2011

infoText - это список. Вы должны перебрать его.

>>>for info in infoText:
>>>    print info.tr.td.a
<a href="www.example.com/two">two</a>

Затем вы можете получить доступ к элементу <table>. Если вы просто ожидаете один элемент таблицы с классом «theclass» в вашем документе, soup.find("table", {"class": "the class"}) даст вам таблицу напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...