【发布时间】:2018-01-28 18:12:30
【问题描述】:
我在 Scrapy 中抓取 json 响应时遇到问题。我收到以下错误:
TypeError:JSON 对象必须是 str,而不是 'Response'
我尝试通过导入编解码器并解码对 utf-8 的响应使用以下方法对其进行解码,但由于某种原因它无法正常工作。代码:
import scrapy
import json
class SrealitkyBuySpiderSpider(scrapy.Spider):
name = "srealitky_buy"
allowed_domains = ["https://www.sreality.cz/"]
start_urls = ['https://www.sreality.cz/api/cs/v2/estates?category_main_cb=1&category_type_cb=1&per_page=20®ion=Praha']
def parse(self, response):
jsonresponse = json.loads(response)
print(jsonresponse)
我也尝试在使用 json.loads 时将 .text 添加到响应中,但随后出现“响应没有属性 'text'”的错误。
jsonresponse = json.loads(response.text)
有谁知道怎么回事?
【问题讨论】:
-
谢谢 Cuber,我刚刚编辑了我的第一个问题。我尝试将 reponse.text 添加到 json.loads,但随后出现错误“AttributeError: Response object has no attribute 'text'”...