豆瓣网(Douban)作为一个集合了书籍、电影、音乐等多个领域的评论和评分平台,提供了丰富的API接口供开发者使用。通过这些API,开发者可以轻松地获取和处理豆瓣网上的各种数据,实现与豆瓣服务的无缝集成。本文将为您介绍最新的豆瓣API合集及其使用方法。
豆瓣API主要分为以下几类:
- 电影API
- 书籍API
- 音乐API
- 用户API
- 搜索API
接下来将详细介绍每个类别下的重要接口及其使用示例。
1. 电影API
1.1 获取电影条目信息
-
接口地址:
https://api.douban.com/v2/movie/subject/:id
-
请求方式:GET
-
参数:
id
:电影条目的ID
-
示例代码:
import requests
api_key = 'YOUR_API_KEY'
movie_id = '1292052'
url = f'https://api.douban.com/v2/movie/subject/{movie_id}?apikey={api_key}'
response = requests.get(url)
print(response.json())
1.2 获取正在上映的电影
-
接口地址:
https://api.douban.com/v2/movie/in_theaters
-
请求方式:GET
-
参数:无
-
示例代码:
url = 'https://api.douban.com/v2/movie/in_theaters?apikey=YOUR_API_KEY'
response = requests.get(url)
print(response.json())
2. 书籍API
2.1 获取书籍条目信息
-
接口地址:
https://api.douban.com/v2/book/:id
-
请求方式:GET
-
参数:
id
:书籍条目的ID
-
示例代码:
url = 'https://api.douban.com/v2/book/1220562?apikey=YOUR_API_KEY'
response = requests.get(url)
print(response.json())
2.2 搜索书籍
-
接口地址:
https://api.douban.com/v2/book/search
-
请求方式:GET
-
参数:
q
:搜索关键词tag
:书籍标签start
:起始位置(用于分页,默认为0)count
:数量(每次返回的数量,默认为20)
-
示例代码:
import requests
url = 'https://api.douban.com/v2/book/search'
params = {
'apikey': 'YOUR_API_KEY',
'q': 'Python',
'count': 5
}
response = requests.get(url, params=params)
print(response.json())
3. 音乐API
3.1 获取音乐条目信息
-
接口地址:
https://api.douban.com/v2/music/:id
-
请求方式:GET
-
参数:
id
:音乐条目的ID
-
示例代码:
url = 'https://api.douban.com/v2/music/1414296?apikey=YOUR_API_KEY'
response = requests.get(url)
print(response.json())
4. 用户API
4.1 获取用户信息
-
接口地址:
https://api.douban.com/v2/user/~me
-
请求方式:GET
-
参数:无(需OAuth认证)
-
示例代码:
from requests_oauthlib import OAuth1Session
api_key = 'YOUR_API_KEY'
api_secret = 'YOUR_API_SECRET'
access_token_url = 'https://www.douban.com/service/auth2/token'
oauth = OAuth1Session(client_key=api_key, client_secret=api_secret)
oauth.fetch_access_token(access_token_url)
url = 'https://api.douban.com/v2/user/~me'
response = oauth.get(url)
print(response.json())
5. 搜索API
5.1 综合搜索
-
接口地址:
https://api.douban.com/v2/search
-
请求方式:GET
-
参数:
q
:搜索关键词start
:起始位置count
:返回条目数
-
示例代码:
url = 'https://api.douban.com/v2/search'
params = {
'apikey': 'YOUR_API_KEY',
'q': 'Inception',
'count': 3
}
response = requests.get(url, params=params)
print(response.json())
test.http测试文件
post http://175.178.126.10:8000/api/v1/hotmovie
Content-Type:application/json
{
"start": 0,
"count": 1,
"city": "郑州"
}
### Swiper request /api/v1/swiperdata
get http://175.178.126.10:8000/api/v1/swiperdata
### Hot movie request /api/v1/hotmovie
### 即将上映影视
post https://api.douban.com/v2/movie/coming_soon
Content-Type:application/json
{
"start": 0,
"count": 1,
"city": "郑州",
"apikey": "0ab215a8b1977939201640fa14c66bab"
}
### Below is the code of douban.http,use vscode extension REST Client to send request.
###正在热映影视
post https://api.douban.com/v2/movie/in_theaters
Content-Type:application/json
{
"start": 0,
"count": 1,
"city": "郑州",
"apikey": "0ab215a8b1977939201640fa14c66bab"
}
### Top250 movie request /api/v1/top250movie
### 豆瓣电影Top250
post https://api.douban.com/v2/movie/top250
Content-Type:application/json
{
"start": 0,
"count": 1,
"city": "郑州",
"apikey": "0ab215a8b1977939201640fa14c66bab"
}
### new movie request /api/v1/newmovie
### 最新上映影视
### 0df993c66c0c636e29ecbb5344252a4a 能用
post https://api.douban.com/v2/movie/new_movies
Content-Type:application/json
{
"apikey": "0df993c66c0c636e29ecbb5344252a4a"
}
### search movie request /api/v1/searchmovie
### 搜索电影
post https://api.douban.com/v2/movie/search
Content-Type:application/json
{
"q": "肖申克的救赎",
"start": 0,
"count": 1,
"city": "郑州",
"apikey": "0ab215a8b1977939201640fa14c66bab"
}
### movie detail request /api/v1/moviedetail
### 电影详情
post https://api.douban.com/v2/movie/subject/1292052
Content-Type:application/json
{
"apikey": "0ab215a8b1977939201640fa14c66bab"
}
### movie comments request /api/v1/moviecomments
### 电影评论 "msg": "need_permission", "code": 1000,
### 0df993c66c0c636e29ecbb5344252a4a 能用
post https://api.douban.com/v2/movie/subject/1292052/comments
Content-Type:application/json
{
"start": 0,
"count": 1,
"apikey": "0df993c66c0c636e29ecbb5344252a4a"
}
### movie recommend request /api/v1/movierecommend
### 电影推荐 "msg": "Page not found", "code": 404,
post https://api.douban.com/v2/movie/subject/1292052/recommendations
Content-Type:application/json
{
"apikey": "0ab215a8b1977939201640fa14c66bab"
}
### movie cast request /api/v1/moviecast
### 电影演员 "msg": "Page not found", "code": 404,
get https://api.douban.com/v2/movie/subject/1292052/celebrities
Content-Type:application/json
{
"apikey": "0ab215a8b1977939201640fa14c66bab"
}
### weekly movie request /api/v1/weeklymovie
### 电影本周口碑榜 0df993c66c0c636e29ecbb5344252a4a 能用
post https://api.douban.com/v2/movie/weekly
Content-Type:application/json
{
"apikey": "0df993c66c0c636e29ecbb5344252a4a"
}
### 电影条目剧照
post https://api.douban.com/v2/movie/subject/1292052/photos
Content-Type:application/json
{
"apikey": "0df993c66c0c636e29ecbb5344252a4a"
}
### celebrity movie request /api/v1/celebritymovie
### 影人剧照 ----不能用
post https://api.douban.com/v2/movie/celebrity/1044707/photos
Content-Type:application/json
{
"start": 0,
"count": 1,
"apikey": "0df993c66c0c636e29ecbb5344252a4a"
}
### 电影条目短评
post https://api.douban.com/v2/movie/subject/1292052/reviews
Content-Type:application/json
{
"start": 0,
"count": 1,
"apikey": "0df993c66c0c636e29ecbb5344252a4a"
}
### 豆瓣音乐
### 0df993c66c0c636e29ecbb5344252a4a "msg": "apikey is required","code": 131,
post https://api.douban.com/v2/music/search
Content-Type:application/json
{
"q": "周杰伦",
"start": 0,
"count": 1,
"apikey": "0b2bdeda43b5688921839c8ecb20399b"
}
### 豆瓣图书
### 0df993c66c0c636e29ecbb5344252a4a 能用
post https://api.douban.com/v2/book/search
Content-Type:application/json
{
"q": "西游记",
"start": 0,
"count": 1,
"apikey": "0df993c66c0c636e29ecbb5344252a4a"
}
###GET https://api.douban.com/v2/music/:id
### 豆瓣音乐详情
### 0df993c66c0c636e29ecbb5344252a4a "msg": "invalid_credencial2","code": 109,
get https://api.douban.com/v2/music/104727?apikey=0df993c66c0c636e29ecbb5344252a4a
Content-Type:application/json
{
"apikey": "0df993c66c0c636e29ecbb5344252a4a"
}