美文网首页前端学习程序员第三方API
使用豆瓣api抓取豆瓣电影top250

使用豆瓣api抓取豆瓣电影top250

作者: Leoshi | 来源:发表于2017-03-03 17:37 被阅读9288次

豆瓣提供了豆瓣开发者服务,通过其提供的豆瓣电影api v2我们可以快速抓取大量信息。

可以看到提供的接口为GET /v2/movie/top250,即调用为http://api.douban.com/v2/movie/top250,输入浏览器可以看到返回一个json,调用参数包含start和count,默认为0和10,使用get方式,因此放在url中,例如http://api.douban.com/v2/movie/top250?start=25&count=25返回第26-50条信息。

所以我们可以每次获取25个,共计10次即可获得全部信息。

使用的库如下

代码如下

# coding utf-8
import requests
from time import sleep
from pymongo import MongoClient

client = MongoClient('localhost', 27017)
db = client.movie_test
collection = db.top_api

url = 'http://api.douban.com/v2/movie/top250'
for start in range(0, 250, 25):
    r = requests.get(url, params={'start': start, 'count': 25})
    print 'processing %s' % r.url
    res = r.json()  # return dict
    for movie in res['subjects']:
        collection.insert_one(movie)
        print movie['title'], 'saved'
    sleep(0.1)

这样短短十几行程序即可获取数据并存入数据库中,以后可以进一步进行分析。

相关文章

网友评论

  • 哟哟哟煎饼果子:这个豆瓣是不是已经挂掉了
  • 3cecdf1a4f23:hi,我今天上豆瓣开发者服务的网站,打不开啊,请问,是已经没有了还是我的打开方式不对?
  • 喵鸢:所以我现在直接打开抓包工具刷新top100的页面 抓不出get和post请求吗?

本文标题:使用豆瓣api抓取豆瓣电影top250

本文链接:https://www.haomeiwen.com/subject/ttjrgttx.html