我的蜘蛛有问题,站点结构如下:
<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值每行一个字母。
谢谢您的帮助。