美文网首页前端学习程序员第三方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