我正在尝试从网站中提取属性,但获取空元素。在 srapy shell 中使用此代码:fetch('https://www.chronext.de/breitling/galactic/w7234812-a785-249s-a12d-4/C79467')from w3lib.html import remove_tags[remove_tags(w).strip() for w in response.xpath('//table[@class="compact margin-top-half"][1]/tr/td[2]/text()').extract()]我正进入(状态:['C77316', '279175', 'Damen', 'Automatik', '28\xa0mm', 'Roségold', 'Roségold', 'Saphirglas', '', '', '', '2018', 'Originale Box', 'Originale Hersteller Papiere', 'CHRONEXT Echtheitszertifikat', 'Zusätzlich zur Herstellergarantie erhalten Sie eine 2-jährige CHRONEXT Garantie ab Kaufdatum.']这是令人惊讶的,因为我的目标是带有 /div[2] 的第二个框,但是却从两个框接收到元素。我也试过这个:[x.strip() for x in response.xpath('//div[@class="row force-inside-container-behavior"]/div[2]/table/tr/td[2]/text()').extract()]返回这个:['', '', '', '2018', 'Originale Box', 'Originale Hersteller Papiere', 'CHRONEXT Echtheitszertifikat', 'Zusätzlich zur Herstellergarantie erhalten Sie eine 2-jährige CHRONEXT Garantie ab Kaufdatum.']我的目标是获得一个键/值对字典。例如“条件”=“好”。第一个盒子没有问题,然后我想让我们单独获取第二个盒子并扩展列表。关键不是问题,但我试图获得的值会返回那些 3-4 个空元素,一旦我稍后将键/值拉到一起,这将使顺序不同步。删除 3 个空字段可能不是一个好的选择,因为此站点上的另一个页面可能略有不同。我怎样才能得到每个键值只有一个元素?
1 回答
哔哔one
TA贡献1854条经验 获得超8个赞
你想提取那些规格?
这是从规格表中提取键值对的 100% 工作代码
specs = {}
for td in response.css(".specifications .col.s12.l5")[0].css("tr"):
specs[td.css("td")[0].css("::text").extract_first()] = td.css("td")[1].css("::text").extract_first()
{u'Uhr f\xfcr': u'Damen', u'Glas': u'Saphirglas', u'Artikel\xadnummer': u'C79467', u'Gr\xf6\xdfe (Geh\xe4use)': u'29\xa0mm', u'Material (Geh\xe4use)': u'Edelstahl', u'Werk': u'Quarz', u'Armband': u'Kautschuk', u'Referenz': u'W7234812.A785.249S.A12D.4'}
添加回答
举报
0/150
提交
取消