我可以使用scrapy提取具有相同类的两个表值吗?

时间:2020-04-22 15:49:51

标签: python web-scraping scrapy

我的蜘蛛有问题,站点结构如下:

<div id="results">
  <table class="table_answers">
    <table>
      <tr>
        <td class="listing">
        </td>
        <td class="listing">
        </td>
      </tr>
    </table>
  </table>
  <table class="table_answers">
    <table>
      <tr>
        <td class="listing">
        </td>
        <td class="listing">
        </td>
      </tr>
    </table>
  </table>

只有具有我编写的名称的表具有任何类或ID。 我想分别从每个td类别为“ listing”的文本中提取文本,我正在使用以下代码:

def parse(self, response):
    item_id = response.css('.listing::text').extract()

    row_data = zip(item_id)

    for item in row_data:
        scraped_info = {
            # 'page': response.url,
            'item_id': item[0],
        }

        yield scraped_info

此代码产生的结果是,第一行来自第一张表的第一行,第二行是第二张表的第二行。我尝试将其更改为:item_id = response.css('.listing::text')[0].extract()希望它仅提取具有“ listing”类的第一行,但相反,它仅给第一张表的第一个td值每行一个字母。 谢谢您的帮助。

0 个答案:

没有答案