Usando Scrapy, estoy tratando de extraer datos de la etiqueta <script type="application/ld+json">....
import json class TestSpider(scrapy.Spider): name = 'content' start_urls = ['https://www.maserati.com/us/en/models/ghibli'] def parse(self, response): for content in response.xpath('(//script[@type="application/ld+json"])/text()'): data = json.loads(content) yield { 'name': data['name'], } next_page = response.css('li.next a::attr("href")').get() if next_page is not None: yield response.follow(next_page, self.parse) Sin embargo, no obtengo el archivo test1.jl que esperaba una vez después de escribir, scrapy runspider test_spider.py - O test1.jl en la terminal
Solo quiero el nombre para empezar a saber cómo funciona.
La imagen y el enlace del sitio web para la inspección se proporcionan a continuación:
Imagen que muestra la etiqueta javascript y la propiedad de nombre dentro que quiero producir

Imagen de mi código y el código en la terminal
Estabas tan cerca... solo te falta getall()
import scrapy import json class TestSpider(scrapy.Spider): name = 'content' start_urls = ['https://www.maserati.com/us/en/models/ghibli'] def parse(self, response): for content in response.xpath('(//script[@type="application/ld+json"])/text()').getall(): data = json.loads(content) yield { 'name': data['name'], } next_page = response.css('li.next a::attr("href")').get() if next_page is not None: yield response.follow(next_page, self.parse)(Sin embargo, no veo ningún botón "siguiente")