美文网首页
利用API获取豆瓣即将上映的20条电影信息

利用API获取豆瓣即将上映的20条电影信息

作者: zzzzzz_ | 来源:发表于2018-06-01 20:17 被阅读0次

利用爬虫爬取网页数据主要有两种方式:
第一种是直接爬取HTML网页内容,它的好处是可以自定义爬取的内容,弊端是很多时候这种行为是被网站禁止的,并且需要根据网站的结构来编写代码。
第二种是利用网站的API进行爬取,这是网站向用户开放的接口,好处是有网站的允许,不用怕IP被封等情况,属于正规的数据获取途径,且操作不难;同样的,弊端是只能获取限定内容。

运行环境:Jupyter Notebook(默认已安装了anaconda包)
运行过程:

1、打开Jupyter Notebook
在放Python代码的位置打开命令窗口,运行以下代码,在浏览器中会自动打开Jupyter Notebook

jupyter notebook

在jupyter notebook中点击右上角的new,新建Python3文件,开始编写代码
2、爬取豆瓣“即将上映”部分的电影
在豆瓣API官方文档中找到即将上映部分

API文档——即将上映.png
可以看到目标URL是豆瓣网址https://api.douban.com/ + resources URL
import urllib.request as request #导入urllib包,利用request模块抓取URL内容
url = 'https://api.douban.com/v2/movie/coming_soon'
crawl_content = request.urlopen(url).read()  #发送get请求到网页,并返回读取到的内容
print(crawl_content)

输出结果如下:可以看到已经抓取到了一些内容,但由于编码和格式的问题可读性很低


获取到的URL内容.png

因此,对代码进行改进,让内容显示成json格式,并修改编码

import urllib.request as request
import json
url = 'https://api.douban.com/v2/movie/coming_soon'
crawl_content = request.urlopen(url).read()
print(json.loads(crawl_content.decode('utf8')))

输出结果如下:修改后可以大概看出它的主要内容,但是由于信息较多,所以需要对代码进一步修改,从以下内容中提取出我们需要的信息


改变编码后的内容.png

在这里就只提取三类信息:标题(title)、类型(genres)、年份(year)

import urllib.request as request
import json
url = 'https://api.douban.com/v2/movie/coming_soon'
crawl_content = request.urlopen(url).read()
movies = json.loads(crawl_content.decode('utf8'))['subjects']
for movie in movies:
    print(movie['title'],movie['genres'],movie['year'])

输出的jupyter界面如图所示:

jupyter界面.png
PS:可以看到,这里只有20条数据,仔细看豆瓣的文档,发现它是有数量限制的。
属性.png
参考资料:
豆瓣API官方文档
Python爬虫之一:基于API的爬虫
【大数据】使用API进行爬虫

相关文章

  • 利用API获取豆瓣即将上映的20条电影信息

    利用爬虫爬取网页数据主要有两种方式:第一种是直接爬取HTML网页内容,它的好处是可以自定义爬取的内容,弊端是很多时...

  • 微信小程序访问豆瓣api403问题

    通过豆瓣api可以获取很多电影、书籍等的数据信息。昨晚上用微信小程序请求豆瓣api,竟然被豆瓣拒绝了。(豆瓣设置了...

  • 微信小程序访问豆瓣api403问题

    通过豆瓣api可以获取很多电影、书籍等的数据信息。昨晚上用微信小程序请求豆瓣api,竟然被豆瓣拒绝了。(豆瓣设置了...

  • 小程序请求不了豆瓣接口api

    通过豆瓣api可以获取很多电影、书籍等的数据信息。昨晚上用微信小程序请求豆瓣api,竟然被豆瓣拒绝了。(豆瓣设置了...

  • 【iOS】使用 ASIHTTPRequest 从豆瓣抓取书籍信息

    1. 达成目标 豆瓣提供相应的api来提供开发人员获取相应的包括书籍、电影、小组等信息。 豆瓣api地址是:htt...

  • 模仿豆瓣电影小程序调电影接口

    1.需要动态获取top250电影数据,还有即将上映电影,最近热播的电影数据。因为api 的地址不可以用了 ,就把豆...

  • Tomato

    一款基于豆瓣图书API创建的,支持批量导入和获取图书信息的API。 @Author Web API 依...

  • 使用requests与lxml爬取豆瓣正在上映电影

    利用requests库与lxml解析,获取豆瓣电影展示的所有正在上映的电影。没有进行进一步详情查看。因此比较简单。...

  • scrapy爬取豆瓣热门电影信息

    对豆瓣热度电影进行简单爬取 豆瓣热门电影信息是动态加载的,通过network,可以看到加载热门电影信息的api是h...

  • python第六天

    爬虫实践 案例一:爬取当当网图书信息(补充) 案例二:爬取豆瓣即将上映电影信息 (自己的代码)可以运行 一、爬虫常...

网友评论

      本文标题:利用API获取豆瓣即将上映的20条电影信息

      本文链接:https://www.haomeiwen.com/subject/rcinjftx.html