如何使用xpath(Scrapy)从dict中获取数据



我正试图使用xpath从这个餐厅页面获取供应商id,但我不知道如何获取,因为它在字典中。这就是我尝试//*[@class="vendor"]然后混淆的原因

<section class ="vendor" data-vendor="{"id":20707,"name":"Beard Papau0027s (Novena)","code":"x1jg","category":"Dessert,Bakery and Cakes","is_active":true,"timezone":"Asia/Singapore","available_in":"2020-11-11T10:00:00+0800","city_id":1,"latitude":1.320027,"longitude":103.843897,"is_pickup_available":true,"is_delivery_available":true,"url_key":"beard-papas-novena","ddt":30,"chain":{"id":1992,"name":"Beard Papa","url_key":"beard-papa","is_accepting_global_vouchers":true,"code":"ck0vb","main_vendor_code":"v3lv"},"rating":4.6,"review_number":224,"minOrder":0,"deliveryFee":0,"is_promoted":false,"is_premium":false,"toppings":[],"accepts_instructions":true,"category_quantity":3,"loyalty_program_enabled":false,"loyalty_percentage_amount":0,"has_delivery_provider":true,"vertical":"restaurants","is_preorder_enabled":true,"is_vat_visible":true}">

正确的方法(正如booleanttrue已经指出的那样(将是import json和下一个:

data_vendor = response.xpath('//section[@class="vendor"]/@data-vendor').get()
data_vendor = json.loads(data_vendor)
vendor_id = data_vendor['id']

最新更新