我正在做我的刮擦代码,我必须从https://lemkus.com/collections/maylee/products/hannah-green-cord-pants?variant=43116172181756 网站提取数据。
现在的输出应该像如果项目只有缺货,然后显示出_ of _ stock =‘True’连同大小,否则不要显示out_of_stock。
示例JSON输出:
"skus": [
{
"currency": "ZAR",
"out_of_stock": true,
"price": 850.00,
"size": "8"
},
{
"currency": "ZAR",
"price": 850.00,
"size": "10"
},
{
"currency": "ZAR",
"out_of_stock": true,
"price": 850.00,
"size": "12"
},
{
"currency": "ZAR",
"price": 850.00,
"size": "14"
}网站的HTML Cde是:
<fieldset class="fieldset-var unavailable-product" data-var-id="43116172181756">
<input class="js-variant-radio" name="id" type="radio" id="variant-1" value="43116172181756" data-inventory-qty="0">
<label for="variant-1">8</label>
</fieldset>
<fieldset class="fieldset-var variant-active " data-var-id="43116172214524">
<input class="js-variant-radio" name="id" type="radio" id="variant-2" value="43116172214524" data-inventory-qty="1">
<label for="variant-2">10</label>
</fieldset>
<fieldset class="fieldset-var unavailable-product" data-var-id="43116172247292">
<input class="js-variant-radio" name="id" type="radio" id="variant-3" value="43116172247292" data-inventory-qty="0">
<label for="variant-3">12</label>
</fieldset>
<fieldset class="fieldset-var " data-var-id="43116172280060">
<input class="js-variant-radio" name="id" type="radio" id="variant-4" value="43116172280060" data-inventory-qty="1">
<label for="variant-4">14</label>
</fieldset> 好的,所以在上面的HTML代码中,请查看标签“qty”等于零,在某些字段中,我想要做的大于0的是,如果数据-存货-qty=“0”,那么显示出_ of _ stock =‘True’,否则就不会显示出现货。
我有提取货币、价格和尺寸的逻辑。我只需要通过提取数据的值-库存-数量或使用另一个可能工作的属性out_of_stock。
到目前为止,我为out_of_stock做的代码的一部分是
items=response.xpath('//div//form//div//fieldset//input[@data-inventory-qty])'.getall()我需要在上面的代码中有4个大小,所以列出4个数据。如果数据-库存-qty与第一项为0,则在列表中追加“True”,否则在列表中追加“”。
所以上面的HTML列表应该是'','True','','True‘
发布于 2022-08-23 20:46:41
像这样吗?
lst = response.xpath('//input[@class="js-variant-radio"]/@inventory-qty').getall()
result = [True if not int(i) else '' for i in lst]
print(result)输出
[True, '', True, '']https://stackoverflow.com/questions/73463895
复制相似问题