2015-08-13 2 views
1
<div class="myDivClass"> 
    <table class="myTableClass"> 
     <tr> 
      <td> 
       stuff-1A 
       <table class="myTableClass"> 
        <tr> 
         <td>stuff-1B</td> 
        </tr> 
       </table> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       stuff-2A 
       <table class="myTableClass"> 
        <tr> 
         <td>stuff-2B</td> 
        </tr> 
       </table> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       stuff-3A 
       <table class="myTableClass"> 
        <tr> 
         <td>stuff-3B</td> 
        </tr> 
       </table> 
      </td> 
     </tr> 
    </table> 
</div> 

Данный макет, который выглядит, что, используя beautifulSoup4, как вы можете выбрать TD теги только из основного внешней таблицы (которые содержат вложенные таблицы одного и того же класса)?BeautifulSoup4 селектор/CSS, как выбрать

Я пытаюсь использовать метод .select().

До сих пор я

soup.select("div.myDivClass > table.myTableClass") 

который возвращает основную внешнюю таблицу. Но мне нужны теги td.

Я попытался

soup.select("div.myDivClass > table.myTableClass tr td") 

Но что возвращает все теги TD


EDIT: кто-то попросил ожидаемого результата

Я не уверен, как именно BeautifulSoups возвращает .select(), Но что-то вроде этого

['<td>stuff-1a<table class="myTableClass"><tr><td>stuff-1B</td></tr></table></td>', 

'<td>stuff-2a<table class="myTableClass"><tr><td>stuff-2B</td></tr></table></td>', 

'<td>stuff-3a<table class="myTableClass"><tr><td>stuff-3B</td></tr></table></td>'] 

Что представляет собой массив строк, и строки являются TD теги только основной внешней таблицы и их содержание в HTML

+0

вы можете показать ожидаемый результат? – styvane

+0

только что отредактировал сообщение, чтобы добавить ожидаемый результат – user1420563

ответ

2

Вы можете использовать > tr > td вместо tr td для выполнения этой задачи. Используя прежние вы получите только tr и затем td элементы, что является прямым потомком внешней таблицы вы уже успели выбрать:

div.myDivClass > table.myTableClass > tr > td 

Для справки: MDN: Child selectors

Смежные вопросы