diff --git a/cnblogs_downloader.py b/cnblogs_downloader.py index dc01f21..52409d6 100644 --- a/cnblogs_downloader.py +++ b/cnblogs_downloader.py @@ -45,10 +45,11 @@ def __init__(self, cnblogs_cookie, workdir, download_img=False): "Referer": "https://i.cnblogs.com/", "Cookie": rf".Cnblogs.AspNetCore.Cookies={cnblogs_cookie}"} self._category = api.get_category_list(self._http_headers) - errors = self._category.get("errors1") - if errors is not None and errors[0] == "Unauthorized": - print("Cookie 已过期,请重新配置Cookie") - sys.exit() + if type(self._category) == dict: + errors = self._category.get("errors1") + if errors is not None and errors[0] == "Unauthorized": + print("Cookie 已过期,请重新配置Cookie") + sys.exit() flag_path = rf"{workdir}\{self._FLAG_FILE_NAME}" if os.path.isfile(flag_path): diff --git a/docs/lib/cnblogs-apiDoc.html b/docs/lib/cnblogs-apiDoc.html index 3a880ae..fc3f07c 100644 --- a/docs/lib/cnblogs-apiDoc.html +++ b/docs/lib/cnblogs-apiDoc.html @@ -3,7 +3,7 @@ -cnblogs-apiDoc
-

博客园API文档,非官方文档,从博客园后台的网络通信过程中总结

 

目录

  1. 获取用户随笔分类列表
  2. 获取用户随笔列表
  3. 获取随笔内容


1 获取用户随笔分类列表

请求方式: GET

请求地址: https://i.cnblogs.com/api/category/blog/1/edit

参数列表:

参数名类型必须描述示例
/    

详细说明: 根据用户Cookie获取用户的随笔分类的列表

请求示例:

返回示例:



2 获取用户随笔列表

请求方式: GET

请求地址: https://i.cnblogs.com/api/posts/list

参数列表:

参数名类型必须描述示例
pint页数,第几页1
cidint分类id,获取分类下的文章。空为所有文章1895777
tid   
tint文章类型:随笔为1,文章为2,日记为1281
cfg   
search   
orderBy   
scid   

详细说明:分页获取用户的随笔列表,每页只能获取10个

请求示例:

返回示例:



3 获取随笔内容

请求方式: GET

请求地址:https://i.cnblogs.com/api/posts/{id}

参数列表:

参数名类型必须描述示例
idint随笔id15980094

详细说明:分页获取用户的随笔列表,每页只能获取10个

请求示例:

返回示例:

 

+

博客园API文档,非官方文档,从博客园后台的网络通信过程中总结

 

目录

  1. 获取用户随笔分类列表
  2. 获取用户随笔列表
  3. 获取随笔内容


1 获取用户随笔分类列表

请求方式: GET

请求地址: https://i.cnblogs.com/api/category/blog/1/edit

参数列表:

参数名类型必须描述示例
/    

详细说明: 根据用户Cookie获取用户的随笔分类的列表

请求示例:

成功返回示例:

未授权返回示例:

 



2 获取用户随笔列表

请求方式: GET

请求地址: https://i.cnblogs.com/api/posts/list

参数列表:

参数名类型必须描述示例
pint页数,第几页1
cidint分类id,获取分类下的文章。空为所有文章1895777
tid   
tint文章类型:随笔为1,文章为2,日记为1281
cfg   
search   
orderBy   
scid   

详细说明:分页获取用户的随笔列表,每页只能获取10个

请求示例:

返回示例:



3 获取随笔内容

请求方式: GET

请求地址:https://i.cnblogs.com/api/posts/{id}

参数列表:

参数名类型必须描述示例
idint随笔id15980094

详细说明:分页获取用户的随笔列表,每页只能获取10个

请求示例:

返回示例:

 

\ No newline at end of file diff --git a/lib/cnblogs-apiDoc.md b/lib/cnblogs-apiDoc.md index a9949ff..f35d9aa 100644 --- a/lib/cnblogs-apiDoc.md +++ b/lib/cnblogs-apiDoc.md @@ -33,7 +33,7 @@ https://i.cnblogs.com/api/category/blog/1/edit ``` -**返回示例:** +**成功返回示例:** ```json [ @@ -49,6 +49,19 @@ https://i.cnblogs.com/api/category/blog/1/edit ] ``` +**未授权返回示例:** + +```json +{ + "errors": [ + "Unauthorized" + ], + "type": 1 +} +``` + + +

## 2 获取用户随笔列表 diff --git a/lib/cnblogs_api.py b/lib/cnblogs_api.py index 1d53ae7..02c1b88 100644 --- a/lib/cnblogs_api.py +++ b/lib/cnblogs_api.py @@ -12,7 +12,7 @@ def get_category_list(http_header): 获取用户的博客分类 :param dict http_header: 其中应当包含Cookie - :rtype: dict + :rtype: list :return: 详情参见接口文档: `cnblogs-apiDoc.md <./cnblogs-apiDoc.html>`_ """ r = httpx.get("https://i.cnblogs.com/api/category/blog/1/edit", headers=http_header, timeout=TIMEOUT)