python爬取电影排行(Python爬取豆瓣电影)

这里我采用谷歌浏览器的开发者工具

开发环境

操作系统:windows 10

python版本 :3.6

爬取网页模块:requests

分析网页模块:json

模块安装

pip3 install requests

网页分析

我们使用豆瓣电影的页面来开始分析

movie.douban/explore#!type=movie&tag=热门&sort=recommend&page_limit=20&page_start=0

由于是动态加载的我们这里无法直接通过get方法获取网页内容

当我们点击加载更多时可以通过开发者工具 Network选项中的XHR 来获取动态加载的js

python爬取电影排行(Python爬取豆瓣电影)(1)

打开获取到的连接

movie.douban/j/search_subjects?type=movie&tag=热门&sort=recommend&page_limit=20&page_start=20

我们可以发现连接的规律,即page_limitpage_start

python爬取电影排行(Python爬取豆瓣电影)(2)

可以看到打开的内容为json格式

这里我们构造一个连接,让它从第一个电影开始,并显示100个

movie.douban/j/search_subjects?type=movie&tag=热门&sort=recommend&page_limit=100&page_start=0

对于JSON的解析我们可以先用一个在线的网站来查看

jsonformatter.curiousconcept/

python爬取电影排行(Python爬取豆瓣电影)(3)

这里可以看到包含了如下信息

  1. 评分
  2. 电影名称
  3. 电影的豆瓣链接
  4. 封面地址

代码介绍

这里逐行介绍代码

1. import相关的模块

import requestsimport json

2. 使用request模块打开并获取网页内容

r = requests.get(url,verify=False)content=r.content

3. 使用json.load将json格式转换为python的字典格式

这时就可以使用字典的相关方法来处理网页了

result=json.loads(content)tvs=result['subjects']

4. 获取相关信息并存入字典中

python爬取电影排行(Python爬取豆瓣电影)(4)

执行结果

我们可以选择将获取到的数据放入数据库中

python爬取电影排行(Python爬取豆瓣电影)(5)

源码位置

源码请访问我的github主页:

github/bsbforever/spider/blob/master/dynamic_json.py

python爬取电影排行(Python爬取豆瓣电影)(6)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页