最近得赶进度爬点东西,对于豆瓣,它为开发者提供了API,目前是v2版本,目前key不对个人开放,但是可以正常通过其提供的API获取数据。豆瓣V2版API权限分3类:公开、高级、商务,我们用开放基本数据接口,一般个人爱好者自建网站或应用都能满足的公开权限。

还有一点,豆瓣API返回值为json,所谓JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。[转自网络]具体用法可以参考Python文档,这里看一下json与Python对应的数据类型:

Performs the following translations in decoding by default(转换为Python时):

Json Python
object dict
array list
string unicode
number (int) int, long
number (real) float
true True
false False
null None

Supports the following objects and types by default(从Python转为JSON):

Python JSON
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null

豆瓣API用法可以参考https://developers.douban.com/,有很多API,我们用电影的做个测试,上代码:

#---coding:utf-8---
import urllib2
import json
import string#后面处理页要用到 html = r'https://api.douban.com/v2/movie/top250?start={page}'
#html = urllib2.urlopen(r'https://api.douban.com/v2/movie/top250?start=') print 'begin...'
i = 1
p = 1
while p <=5:
#print '=====START PAGE:',(p-1)*20
#每次获取一页
try:
hjson = json.loads(urllib2.urlopen(html.format(page=(p-1)*20)).read())
except Exception as e:
print e
#处理json,具体返回样例参照豆瓣API即可,输出格式: 排行:电影中文名---英文名(年代)
for key in hjson['subjects']:
print i,':',key['title'],'--'\
,key['original_title'],'(',key['year'],')'
i+=1
p+=1 print 'over!'

用API多简单,这里说一下,每次获取一页只有20条,目前还没搞定怎么获取多点,只好用了个循环的笨法子,这里只爬了前100测试一下,还有就是发现好多库2.x可以用3.x不能用,于是就有装了个2.7,其实并不冲突(2.7.10往后有冲突,装不上,以前的版本没试,我的版本是2.7.6),只要在环境变量配置的时候把2.x放前面就会用2.x,用pycharm的时候还不会怎么选2.x和3.x,感觉和eclipse选Tom cat差不多,回来搞一搞。好了,我们运行看一下(在原生IDE就能看到结果,就不截图了,其实也可以写到一个.TXT里面):
>>>
begin...
1 : 肖申克的救赎 -- The Shawshank Redemption ( 1994 )
2 : 这个杀手不太冷 -- Léon ( 1994 )
3 : 阿甘正传 -- Forrest Gump ( 1994 )
4 : 霸王别姬 -- 霸王别姬 ( 1993 )
5 : 美丽人生 -- La vita è bella ( 1997 )
6 : 千与千寻 -- 千と千尋の神隠し ( 2001 )
7 : 辛德勒的名单 -- Schindler's List ( 1993 )
8 : 海上钢琴师 -- La leggenda del pianista sull'oceano ( 1998 )
9 : 机器人总动员 -- WALL·E ( 2008 )
10 : 盗梦空间 -- Inception ( 2010 )
11 : 泰坦尼克号 -- Titanic ( 1997 )
12 : 三傻大闹宝莱坞 -- 3 Idiots ( 2009 )
13 : 放牛班的春天 -- Les choristes ( 2004 )
14 : 忠犬八公的故事 -- Hachi: A Dog's Tale ( 2009 )
15 : 龙猫 -- となりのトトロ ( 1988 )
16 : 大话西游之大圣娶亲 -- 西遊記大結局之仙履奇緣 ( 1995 )
17 : 教父 -- The Godfather ( 1972 )
18 : 乱世佳人 -- Gone with the Wind ( 1939 )
19 : 天堂电影院 -- Nuovo Cinema Paradiso ( 1988 )
20 : 当幸福来敲门 -- The Pursuit of Happyness ( 2006 )
21 : 搏击俱乐部 -- Fight Club ( 1999 )
22 : 楚门的世界 -- The Truman Show ( 1998 )
23 : 触不可及 -- Intouchables ( 2011 )
24 : 指环王3:王者无敌 -- The Lord of the Rings: The Return of the King ( 2003 )
25 : 罗马假日 -- Roman Holiday ( 1953 )
26 : 十二怒汉 -- 12 Angry Men ( 1957 )
27 : 两杆大烟枪 -- Lock, Stock and Two Smoking Barrels ( 1998 )
28 : 天空之城 -- 天空の城ラピュタ ( 1986 )
29 : 怦然心动 -- Flipped ( 2010 )
30 : 海豚湾 -- The Cove ( 2009 )
31 : 飞屋环游记 -- Up ( 2009 )
32 : 大话西游之月光宝盒 -- 西遊記第壹佰零壹回之月光寶盒 ( 1995 )
33 : 飞越疯人院 -- One Flew Over the Cuckoo's Nest ( 1975 )
34 : 无间道 -- 無間道 ( 2002 )
35 : 鬼子来了 -- 鬼子来了 ( 2000 )
36 : 窃听风暴 -- Das Leben der Anderen ( 2006 )
37 : 少年派的奇幻漂流 -- Life of Pi ( 2012 )
38 : 蝙蝠侠:黑暗骑士 -- The Dark Knight ( 2008 )
39 : V字仇杀队 -- V for Vendetta ( 2005 )
40 : 熔炉 -- 도가니 ( 2011 )
41 : 闻香识女人 -- Scent of a Woman ( 1992 )
42 : 天使爱美丽 -- Le fabuleux destin d'Amélie Poulain ( 2001 )
43 : 活着 -- 活着 ( 1994 )
44 : 美丽心灵 -- A Beautiful Mind ( 2001 )
45 : 指环王1:魔戒再现 -- The Lord of the Rings: The Fellowship of the Ring ( 2001 )
46 : 指环王2:双塔奇兵 -- The Lord of the Rings: The Two Towers ( 2002 )
47 : 教父2 -- The Godfather: Part Ⅱ ( 1974 )
48 : 哈尔的移动城堡 -- ハウルの動く城 ( 2004 )
49 : 七宗罪 -- Se7en ( 1995 )
50 : 情书 -- Love Letter ( 1995 )
51 : 勇敢的心 -- Braveheart ( 1995 )
52 : 剪刀手爱德华 -- Edward Scissorhands ( 1990 )
53 : 死亡诗社 -- Dead Poets Society ( 1989 )
54 : 美国往事 -- Once Upon a Time in America ( 1984 )
55 : 钢琴家 -- The Pianist ( 2002 )
56 : 致命魔术 -- The Prestige ( 2006 )
57 : 狮子王 -- The Lion King ( 1994 )
58 : 音乐之声 -- The Sound of Music ( 1965 )
59 : 被嫌弃的松子的一生 -- 嫌われ松子の一生 ( 2006 )
60 : 小鞋子 -- بچههای آسمان ( 1997 )
61 : 低俗小说 -- Pulp Fiction ( 1994 )
62 : 入殓师 -- おくりびと ( 2008 )
63 : 蝴蝶效应 -- The Butterfly Effect ( 2004 )
64 : 玛丽和马克思 -- Mary and Max ( 2009 )
65 : 沉默的羔羊 -- The Silence of the Lambs ( 1991 )
66 : 本杰明·巴顿奇事 -- The Curious Case of Benjamin Button ( 2008 )
67 : 星际穿越 -- Interstellar ( 2014 )
68 : 黑客帝国 -- The Matrix ( 1999 )
69 : 拯救大兵瑞恩 -- Saving Private Ryan ( 1998 )
70 : 第六感 -- The Sixth Sense ( 1999 )
71 : 大鱼 -- Big Fish ( 2003 )
72 : 射雕英雄传之东成西就 -- 射鵰英雄傳之東成西就 ( 1993 )
73 : 幽灵公主 -- もののけ姫 ( 1997 )
74 : 饮食男女 -- 飲食男女 ( 1994 )
75 : 让子弹飞 -- 让子弹飞 ( 2010 )
76 : 西西里的美丽传说 -- Malèna ( 2000 )
77 : 心灵捕手 -- Good Will Hunting ( 1997 )
78 : 阳光姐妹淘 -- 써니 ( 2011 )
79 : 阳光灿烂的日子 -- 阳光灿烂的日子 ( 1994 )
80 : 辩护人 -- 변호인 ( 2013 )
81 : 上帝之城 -- Cidade de Deus ( 2002 )
82 : 萤火虫之墓 -- 火垂るの墓 ( 1988 )
83 : 大闹天宫 -- 大闹天宫 ( 1961 )
84 : 重庆森林 -- 重慶森林 ( 1994 )
85 : 春光乍泄 -- 春光乍洩 ( 1997 )
86 : 致命ID -- Identity ( 2003 )
87 : 甜蜜蜜 -- 甜蜜蜜 ( 1996 )
88 : 禁闭岛 -- Shutter Island ( 2010 )
89 : 加勒比海盗 -- Pirates of the Caribbean: The Curse of the Black Pearl ( 2003 )
90 : 告白 -- 告白 ( 2010 )
91 : 爱在黎明破晓前 -- Before Sunrise ( 1995 )
92 : 阿凡达 -- Avatar ( 2009 )
93 : 风之谷 -- 風の谷のナウシカ ( 1984 )
94 : 一一 -- 一一 ( 2000 )
95 : 爱在日落黄昏时 -- Before Sunset ( 2004 )
96 : 海洋 -- Océans ( 2009 )
97 : 燃情岁月 -- Legends of the Fall ( 1994 )
98 : 驯龙高手 -- How to Train Your Dragon ( 2010 )
99 : 侧耳倾听 -- 耳をすませば ( 1995 )
100 : 控方证人 -- Witness for the Prosecution ( 1957 )
over!
>>>

这个简单的小程序就完成了,还有很多要改进的地方,不过既然开头了,以后都好说。豆瓣API返回值大部分都是json,所以用API爬数据时要注意对json的处理,返回的json格式API例子都有,搞一下就行,继续学习中。

 

小试牛刀--利用豆瓣API爬取豆瓣电影top250的更多相关文章

  1. PYTHON 爬虫笔记八:利用Requests+正则表达式爬取猫眼电影top100(实战项目一)

    利用Requests+正则表达式爬取猫眼电影top100 目标站点分析 流程框架 爬虫实战 使用requests库获取top100首页: import requests def get_one_pag ...

  2. Python 2.7_利用xpath语法爬取豆瓣图书top250信息_20170129

    大年初二,忙完家里一些事,顺带有人交流爬取豆瓣图书top250 1.构造urls列表 urls=['https://book.douban.com/top250?start={}'.format(st ...

  3. 利用正则+requests爬取猫眼电影信息

    import json # from multiprocessing import Pool import requests from requests.exceptions import Reque ...

  4. 利用Python爬取豆瓣电影

    目标:使用Python爬取豆瓣电影并保存MongoDB数据库中 我们先来看一下通过浏览器的方式来筛选某些特定的电影: 我们把URL来复制出来分析分析: https://movie.douban.com ...

  5. 爬取豆瓣电影影评,生成wordcloud词云,并利用监督学习根据评论自动打星

    本文的完整源码在git位置:https://github.com/OceanBBBBbb/douban-ml 爬取豆瓣影评 爬豆瓣的影评比较简单,豆瓣没有做限制,甚至你都不用登陆就可以看全部,我这里用 ...

  6. scrapy爬虫框架教程(二)-- 爬取豆瓣电影TOP250

    scrapy爬虫框架教程(二)-- 爬取豆瓣电影TOP250 前言 经过上一篇教程我们已经大致了解了Scrapy的基本情况,并写了一个简单的小demo.这次我会以爬取豆瓣电影TOP250为例进一步为大 ...

  7. urllib+BeautifulSoup无登录模式爬取豆瓣电影Top250

    对于简单的爬虫任务,尤其对于初学者,urllib+BeautifulSoup足以满足大部分的任务. 1.urllib是Python3自带的库,不需要安装,但是BeautifulSoup却是需要安装的. ...

  8. python2.7爬取豆瓣电影top250并写入到TXT,Excel,MySQL数据库

    python2.7爬取豆瓣电影top250并分别写入到TXT,Excel,MySQL数据库 1.任务 爬取豆瓣电影top250 以txt文件保存 以Excel文档保存 将数据录入数据库 2.分析 电影 ...

  9. 零基础爬虫----python爬取豆瓣电影top250的信息(转)

    今天利用xpath写了一个小爬虫,比较适合一些爬虫新手来学习.话不多说,开始今天的正题,我会利用一个案例来介绍下xpath如何对网页进行解析的,以及如何对信息进行提取的. python环境:pytho ...

随机推荐

  1. cf 731f

    题意:给你一组数,让你先选一个数,然后把其他数缩小成他的倍数,然后求和,求最大值. 思路:很显然,对于数i,在i*j到i*(j+1)-1之间的数都应该缩小成i*j,又由于数均小于等于200000这个通 ...

  2. eclipse或者myeclipse安装svn报错”unable to load default svn client”

    是svn版本低了的问题 subeclipse下载,直接百度site1.X                  X为你需要的版本 解压site1.X 将此窗口先放到一边 在eclipse的安装目录下的dr ...

  3. lucene和ElasticSearch基本概念

    lucene基本概念 索引(Index) 对应一个倒排表,一个检索的基本单位.在lucene中就对应一个目录. lucene基本概念 段(Segment) 一个索引可以包含多个段,段与段之间是独立的, ...

  4. FileReader对象

    在一些项目中,经常会遇到图片上传的情况,为了提高用户体验,一般会要求选择图片后 能预览一下图片. 以前的做法是 通过 ajax上传图片后,然后再显示出来,这样会产生大量的无用的图片文件,在HTML5的 ...

  5. js之字符串操作

    1.字符串查找 var str = "source_content10"; if(str.indexOf("source_content") !== false ...

  6. 如何取消MSSQL自带智能提示步骤,使用第三方智能提示插件

    步骤1如下: [工具]——[选项]——[文本编辑器]——[Transact-SQL]——[IntelliSense]——[Transact-SQL IntelliSense 设置]——(取消选择)—— ...

  7. JS浮点数的加减乘除运算

    文章来源地址:http://blog.csdn.net/lyd518/article/details/7236464 转载请注明出处,尊重作者劳动成果,谢谢!问题这样的: 37.5*5.5=206.0 ...

  8. poj 2761 Feed the dogs (treap树)

    /************************************************************* 题目: Feed the dogs(poj 2761) 链接: http: ...

  9. Oracle 表空间

    表空间 编辑 本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 表空间是数据库的逻辑划分,一个表空间只能属于一个数据库.所有的数据库对象都存放在指定的表空间中.但主要存放的是表 ...

  10. Android 遮罩层效果

    (用别人的代码进行分析) 不知道在开发中有没有经常使用到这种效果,所谓的遮罩层就是给一张图片不是我们想要的形状,这个时候我们就可以使用遮罩效果把这个图片变成我们想要的形状,一般使用最多就是圆形的效果, ...