本文仅用于学习研究之目的,请勿用于其他用途。
豆瓣网关闭了图书、电影等相关的 API 接口。不过我们换一个思路,这些 API
豆瓣自己依然需要用,那我们便可以通过 Fiddler、Charles 等工具抓取豆瓣一些应用正在使用的接口。
豆瓣评分 微信小程序
通过微信小程序“豆瓣评分”的接口分析,我们可以得到:
豆瓣Api Host:https://frodo.douban.com
可用的 apiKey:0ac44ae016490db2204ce0a042db2916
其他可用apiKey:
054022eaeae0b00e0fc068c0c0a2102a
另外,豆瓣小程序的接口还对请求的 header 做的一些验证,我们需要在 header 里面携带:
"Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/91/page-frame.html"
"User-Agent": "MicroMessenger/"
于是我们就可以通过 Postman 等工具发起请求,获得接口信息。
完整的 cURL 示例:
curl --location --request GET 'https://frodo.douban.com/api/v2/book/rank_list?apiKey=0ac44ae016490db2204ce0a042db2916' \
--header 'User-Agent: MicroMessenger/' \
--header 'Referer: https://servicewechat.com/wx2f9b06c1de1ccfca/91/page-frame.html' \
--data-raw ''
豆瓣 App
另外,对豆瓣 App 抓包发现,api.douban.com
这个 Host 依旧也在使用,并且只验证了 apiKey(POST请求)。
可用 apiKey:
0ab215a8b1977939201640fa14c66bab
cURL 示例:
curl --location --request POST 'https://api.douban.com/v2/movie/imdb/tt6718170' \
--data-urlencode 'apikey=0ab215a8b1977939201640fa14c66bab'
接口文档
接口文档可以参照:
- https://www.doubanapi.com 因为也是过期文档,使用的时候可以尝试更换host或者把GET改POST等方法
- 豆瓣API 我验证过的可用API
您的赞助将会支持作者创作及本站运维
评论
共27条https://www.douban.com/group/topic/286936341
https://www.zhihu.com/question/403120117/answer/2988527308
https://www.douban.com/group/topic/49720288
https://github.com/JayXon/MoreMovieRatings/issues/5
可以看看这个讨论吗,感谢
已回复。
第一个curl示例好像失效了,能修复一下吗?
第二个示例能用
我试了下并未失效,你的请求结果是什么?难道IP对它有影响……
我是把curl命令转成php来请求的,header也都设置了,返回的结果是{“msg”: “invalid_request_997”, “code”: 997, “request”: “GET \/v2\/book\/rank_list”, “localized_message”: “\u9519\u8bef\u8bf7\u6c42 997”},是不是因为我转成php的原因呢?
这个可能是因为 header 缺少字段,server会验证,豆瓣接口报错:invalid_request_997
已经解决了,谢谢大佬指点,感谢感谢。另外问个问题,用这个key请求,会有频率限制吗?
这个我也不清楚,没有尝试~
佬,第二个获取电影的我用了提示apikey不可用了啊
我刚试了,可以用,目前不确定是不是有IP限制,你那收到什么?
非常感谢这篇文章,key很好用!!
豆瓣读书好用,但是电影返回109,好像是key不能用
invalid_credencial2″,”code”:109,
我用的示例 cURL 是没有问题的,不知道你是否也是这个接口,可以发出来看下。
你的网站好有趣!
噗,我找到了一个第三方的api,现在不用官方的那个了。你说没问题那可能是我操作不对。我查了下文档写的109是“密钥无效或已过期”不管他啦~qaq
豆瓣查询接口是那个呢
好像并没有这样的接口,可以通过搜索结果页面爬取
豆瓣日历有API 吗?
这个应该没有叭…
大佬,我用 taro 开发小程序,发送请求后报错了:VM14 asdebug.js:1 Refused to set unsafe header “User-Agent”(env: macOS,mp,1.06.2307260; lib: 3.0.1)
但是用 postman 没问题,请问这个怎么处理呢?
手动改下header试试呢?我也没有遇到过
第一个好像只能查rank_list,别的功能不开放啊
都有的
都用不了啊,不知道咋弄了
发表评论