无法使用python scrapy加载json



我正在尝试使用scrapy加载json,但我得到这个错误:

raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 1 column 10718 (char 10717)
下面是我的代码:
import scrapy
import json

class CodeSpider(scrapy.Spider):
name = 'trip'
allowed_domains = ['tripadvisor.com']
start_urls = ['https://www.tripadvisor.com/Restaurant_Review-g155019-d5058155-Reviews-The_Tilted_Dog_Pub_Kitchen-Toronto_Ontario.html']
def start_requests(self):
for a in self.start_urls:
yield scrapy.Request(url = a,callback= self.parse_data)

def parse_data(self, response):
el = (response.xpath('//div[@id="taplc_footer_js_globals_0"]/following::script[1]/text()').get()).split('"responses":')[1]
data = json.loads(el)

目标是从json中获取数据。等待你亲切的回答

el中有多个json。您可以将响应粘贴到这里,并检查为什么在解析json时得到输出。

你需要将el分成几个部分,你可以尝试像json.loads(el.split('},"page"')[0])这样的东西来获得第一个json对象,等等。

相关内容

  • 没有找到相关文章

最新更新