您的位置:首页 > Web前端 > JavaScript

scrapy处理JSON API

2016-04-07 10:54 507 查看
有时候你会发现你需要的数据在原始的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()
方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: