2.2 JSON

必要的准备工作

了解Json Path用法:https://goessner.net/articles/JsonPath/index.htmlarrow-up-right

了解Json Path测试:https://jsonpath.com/arrow-up-right

1. 选择源网站

教程以 起点中文网arrow-up-right 为例讲解。

2. 基础信息

根据源网站信息新建书源文件:m.qidian.com.json

{
    "name": "起点中文网",
    "url": "m.qidian.com",
    "version": 100
}

属性

必填

含义

讲解

name

yes

名字

重要!源网站名字,必须标准,禁止使用前缀

url

yes

网址

重要!源网站链接

version

yes

版本

重要!默认100(1.0)当内容变化时递增,如101(1.1)

triangle-exclamation

3. 搜索

根据源网站的搜索框源码的内容写出搜索URL。

属性

必填

含义

默认值

url

yes

地址

${key}代表搜索关键词,搜索时自动替换为用户输入的词

charset

yes

关键词编码

utf-8

circle-info

POST搜索参见 3.1 POST

4. 搜索结果

搜索书名得出结果。

GET https://m.qidian.com/majax/search/list

Query Parameters

Name
Type
Description

kw

string

书名

根据Response定位搜索结果list的JsonPath表达式为:$..records[*] ,其他字段信息如下:

属性

必填

含义

默认值

list

yes

列表

提取结果元素的相同特征

name

yes

书名

必填项

detail

yes

详情

自动补全URL

5. 图书详情

circle-info

本例中图书详情页是html页面,书源中允许混合使用html/json,但是单个步骤中必须使用其中1种,解析器会自动根据返回内容识别格式。

GET https://m.qidian.com/book/1010868264

根据详情页图书信息填充如下:

属性

必填

含义

默认值

name

no

书名

搜索无此字段则必填,搜索有此字段选填

catalogUrl

no

目录地址

空(不填视为目录和详情相同地址)

circle-info

status/update/lastChapter字段用到的match操作符参见 3.5 正则匹配

6. 目录

GET https://m.qidian.com/majax/book/category

Path Parameters

Name
Type
Description

bookId

string

图书ID

根据目录JSON填充如下:

属性

必填

含义

默认值

list

yes

目录

章节或分卷列表

orderBy

no

排序方式

0(分卷正序章节正序)1(分卷倒序章节倒序)2(分卷正序章节倒序)3(分卷倒序章节正序)

name

yes

章节标题

chapter

yes

章节

自动补全URL

booklet

no

分卷

存在分卷描述

page

no

分页

下一页链接元素

Booklet

属性

必填

含义

默认值

list

yes

章节列表

name

yes

分卷名

circle-info

chapter字段中的${$params.bookId}和${$.id}参见3.3 查询模板

7. 正文

GET https://m.qidian.com/majax/chapter/getChapterInfo

Path Parameters

Name
Type
Description

bookId

string

图书ID

Query Parameters

Name
Type
Description

chapterId

string

章节ID

根据正文JSON填充如下:

属性

必填

含义

默认值

content

no

正文

当返回txt文本时不需填写该字段

page

no

分页

下一页链接元素

最后更新于