scrapy处理JSON API

37 篇文章 0 订阅
9 篇文章 0 订阅

有时候你会发现你需要的数据在原始的HTML页面上找不到。比如下面这种情况:

这里写图片描述

右击查看元素会看到一个普通的DOM树,但是用scrapy shell或右击选择查看源代码的时候,会发现源代码中没有任何信息。

在这种情况下,可以F12打开开发者工具,选择Network界面,在左边的列表里就能看到浏览器为加载此页面而发出的所有请求。这里有三项:static/已经看过了(URL就是),jquery.min.js是一个JS框架,这样看来api.json应该就是数据了。如果点击这一项,然后选择Preview界面,就能看到这些数据。比如:

    [{
    "id": 0,
    "title": "better set unique family well"
    },
    ... {
    "id": 29,
    "title": "better portered mile"
    }]

以上只是一个很简单的JSON API的例子,更复杂的可能要求你登录、使用POST请求或者返回更复杂的数据。JSON格式的数据还是很好解析的,因为不需要写XPath表达式。Python提供了一个解析JSON的库,可以import json后使用json.loads(response.body)

start_urls可以这样写:

start_urls = (
    'http://web:9312/properties/api.json',
)

如果需要使用POST请求或者其他更复杂的操作可以用start_requests()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值