我需要从JSON中提取有效性数据,但它处于另一个级别,我无法访问数据,我尝试了,但它不起作用,这是测试前的基本代码。
import scrapy
import json
API_URL = "https://banco.santander.cl/beneficios/promociones.json?per_page=9999&tags=home&custom_fields=true&order_by=updated_at&desc=true&hash=721"
class BanSantanderSpider(scrapy.Spider):
name = "bansantander"
start_urls = [API_URL]
# Custom Settings are needed to send the User Agent.
custom_settings = {
'USER_AGENT' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
def parse(self, response):
json_response = json.loads(response.text)
datas = json_response["promociones"]
for data in datas:
yield {
"title": data["title"],
"description": data["description"],
"summary": data["slug"],
"discount": data["excerpt"],
"discountURL": data["url"]
}
1条答案
按热度按时间dauxcl2d1#
您可以使用
response.json()
便利函数将响应转换为一个json对象,然后您可以迭代该对象以提取您需要的数据。请参阅下面的示例用法。我添加了Item
s的用法以清理输出的数据。