我正在制作一个程序来抓取网页。
我需要在页面中找到tr
个td
个孩子的所有class="table"
元素
<tr>
<td class="table">1</td>
<td class="table">
<a href="...">...</a>
</td>
<td class="table">18</td>
</tr>
我已设法找到所有td
个class=table
元素
MySoup = soup.find_all("td", { "class" : "table" })
以及所有tr
MySoup = soup.find_all("tr")
但整个页面中有太多,这不完全是我所需要的......
答案 0 :(得分:3)
我需要在页面中找到所有具有class =“table”
的td子元素的tr元素
soup.select('tr td.table')
如果你想要所有td是
tr
的直接孩子,那么使用
soup.select('tr > td.table')
示例:
>>> html = '''<tr>
<td class="table">1</td>
<td class="table">
<a href="...">...</a>
</td>
<td class="table">18</td>
</tr><td class="table">19</td>'''
>>> soup = BeautifulSoup(html, 'lxml')
>>> soup.select('tr td.table')
[<td class="table">1</td>, <td class="table">\n<a href="...">...</a>\n</td>, <td class="table">18</td>]
>>>