0

我正在尝试使用 css 选择器从 html 表(main_table)中抓取数据。问题是,当我尝试获取所有行(tr)时,我从 main_table 内部的 inner_table 获得了额外的行,但我不知道如何排除 inner_table。

我试过css选择器

response.css('.main_table-id:not([class^="inner_table"])').extract()

response.css("table[id='main_table_id']:not([class*='inner_table'])").extract()

但它并不排除它。

<table id ="main_table_id" class="main_table_class">
<tbody>
<tr block-id="123" class="main_tr_class">
<td class="td_class">
<div class="inner_table_div">
<table class="inner_table">
</table>
</div>  
</td>
</tr>
</tbody>
</table>

我想从 main_table 中抓取所有数据,并排除内表。有人告诉我,我正在将选择器应用于父节点,但我不知道如何编辑我的 CSS。

4

1 回答 1

1

用于>仅选择直接子节点

response.css('#main_table_id > tr')

或者

response.css('#main_table_id > tbody > tr')
于 2019-08-27T11:43:43.943 回答