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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容