前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python爬取动态网页-豆瓣电影(JSON)

使用Python爬取动态网页-豆瓣电影(JSON)

作者头像
bsbforever
发布2020-08-19 15:46:19
1.3K0
发布2020-08-19 15:46:19
举报
文章被收录于专栏:时悦的学习笔记

开发环境

操作系统:windows 10

Python版本 :3.6

爬取网页模块:requests

分析网页模块:json

模块安装

代码语言:javascript
复制
pip3 install requests

网页分析

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

代码语言:javascript
复制
https://movie.douban.com/explore#!type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=0

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

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

1.png
1.png

打开获取到的连接

代码语言:javascript
复制
https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=20

我们可以发现连接的规律,即page_limit和page_start

2.png
2.png

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

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

代码语言:javascript
复制
https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=100&page_start=0

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

代码语言:javascript
复制
https://jsonformatter.curiousconcept.com/
3.png
3.png

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

  • 评分
  • 电影名称
  • 电影的豆瓣链接
  • 封面地址

代码介绍

这里逐行介绍代码

1. import相关的模块

代码语言:javascript
复制
import requests

import json

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

代码语言:javascript
复制
r = requests.get(url,verify=False)

content=r.content

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

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

代码语言:javascript
复制
result=json.loads(content)

tvs=result['subjects']

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

4.png
4.png

执行结果

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

5.png
5.png

源码位置

源码请访问我的github主页:

https://github.com/bsbforever/spider/blob/master/dynamic_json.py

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅必备 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开发环境
  • 模块安装
  • 网页分析
  • 代码介绍
  • 执行结果
  • 源码位置
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档