【问题标题】:how to retrieve table, excluding some tags from it如何检索表,从中排除一些标签
【发布时间】:2019-12-31 12:33:31
【问题描述】:

我正在尝试使用 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。

【问题讨论】:

    标签: html scrapy css-selectors html-tableextract


    【解决方案1】:

    使用&gt; 仅选择直接子节点

    response.css('#main_table_id > tr')
    

    response.css('#main_table_id > tbody > tr')
    

    【讨论】:

    • 你太棒了,正是我需要的,希望你有一个美好的一天!
    猜你喜欢
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 2011-01-25
    • 2021-11-17
    • 2013-02-19
    • 2012-10-11
    • 1970-01-01
    相关资源
    最近更新 更多