前端学习程序员第三方API

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

2017-03-03  本文已影响9288人  Leoshi

豆瓣提供了豆瓣开发者服务,通过其提供的豆瓣电影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)

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

上一篇 下一篇

猜你喜欢

热点阅读