最近得赶进度爬点东西,对于豆瓣,它为开发者提供了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. 学习C:打印输入中单词长度的水平方向直方图

    #include <stdio.h>#define IN 1#define OUT 0#define MAXWL 16 main() { /*打印输入单词长度的水平直方图*/ int c, ...

  2. FastReport 中添加二维码功能.(Delphi)

    http://www.cnblogs.com/fancycloud/archive/2011/07/24/2115240.html FastReport 中添加二维码功能.(Delphi)   在实际 ...

  3. python学习之路——基础篇(3)模块(续)

    re正则表达式.shutil.ConfigParser.xml 一.re 正则元字符和语法: 语法 说明 表达式 完全匹配字符 字符 一般字符 匹配自身 abc abc . 匹配除换行符"\ ...

  4. (转载)IE6支持透明PNG图片解决方案:DD_belatedPNG.js

    DD_belatedPNG.js 是一个能是IE6支持p显示ng透明图片,而且还支持背景循环(background-repeat)和定位(backgrond-position) ,支持focus,Ho ...

  5. Varnish简介

    Varnish介绍: Varnish是一个反向HTTP代理,有时也被称为HTTP的加速器或网络加速器:它存在于真实服务器的前面(可能有多级代理),将来自于客户端的请求中的部分内容存储在自身的内存中,以 ...

  6. 第15章 .NET中的反射

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...

  7. IOS低版本遇到了坑不知道你遇到了没

    拿着项目给客户测试,客户那边三个人俩人水果手机是ios8以下版本,结果导致```(恭喜,坑出现!)总不能说老总!"您把版本升级到ios9 吧!

  8. task9暂存

    <h6>第一组项目</h6> <div class="wrap"> <div class="title"> &l ...

  9. python初学day01

    1.执行Python脚本时打印的字符有颜色 1. print "\033[32;1mhello\033[0m" #打印绿色 2. print "\033[31;1mhel ...

  10. 什么是IO流 \ 以及文件输入输出

    一.IO流的分类: 流按照操作数据的类型分为两种:字节流:字符流. 1.什么是字节流:读取的是文件的二进制数据,不会对二进制做处理,不会解析成看得懂的数据. 2.什么是字符流:读取的是文件的二进制数据 ...