BeautifulSoup4 / CSS选择器如何选择

时间:2015-08-13 21:18:10

标签: python css-selectors beautifulsoup

<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标签?

我正在尝试使用.select()方法。

到目前为止我已经

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

返回主外表。但我需要那个标签。

我试过

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

但是返回所有td标签


编辑:有人要求预期输出

我不确定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 个答案:

没有答案