python爬取豆瓣电影json数据

2023-11-19

由于豆瓣里的电影都有专属的id,获取到id后可以进一步爬取其他页面的内容。
首先来到主界面(https://movie.douban.com)观察网页:
点击“选电影”进入需要爬取的界面:
在这里插入图片描述
打开Chrome开发模式,并下拉网页观察新生成的文件
在这里插入图片描述
可以观察到页面没有跳转,说明该网页采用了异步加载技术,同时生成的主文件为以search_subjects开头的文件
在这里插入图片描述
文件页面的url:
在这里插入图片描述
通过点击Response选项观察到页面中内容的数据格式为json格式:
在这里插入图片描述
因此直接访问主内容所在网页(https://movie.douban.com/j/search_subjects?type=movie&tag=华语&sort=recommend&page_limit=20&page_start=0)
可以观察到如下内容:
在这里插入图片描述
通过更改url中的数字page_start=(以20为单位)跳转到下一页
在这里插入图片描述
可以看到这里有很多内容,我选择爬取的是其中的电影名、id号及电影评分。同时观察到主url是有变化的,根据电影类别发生变化,因此我选择分四次爬取内容,分别为:华语、欧美、韩国、日本,这样获取的电影内容就没有重复了。
在这里插入图片描述
好了,接下来直接上代码。

import json
import requests
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'}
def get_url(url):
	res=requests.get(url,headers=headers)
	json_data=json.loads(res.text)
	films=json_data.get('subjects')
	for film in films:
			try:
				f.write(film['id']+'\t'+film['rate']+'\t'+film['title']+'\n')
			except:
				f.write('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'+'\n')
				print(film['id'])
				pass

if __name__=='__main__':
	urls=['https://movie.douban.com/j/search_subjects?type=movie&tag=%E6%97%A5%E6%9C%AC&sort=recommend&page_limit=20&page_start={}'.format(str(i)) for i in range(0,220,20)]#在这里我爬取的是日语的电影
	f=open('douban.txt','a+')
	for url in urls:
		get_url(url)
	f.close()

在爬取日本电影内容时程序报错而中断,因此加入了try语句使程序继续进行的同时显示出错误的url。最后发现27171119这个电影id在爬取时出现了错误,打开https://movie.douban.com/subject/27171119/网页看到电影名竟然是:
在这里插入图片描述
好吧,这样的电影名里面的字符在写入txt文档时会产生编码错误,可以手工输入将其重新添加。
最后得到的内容为:
在这里插入图片描述
好了,就到这里了,有空我会写下一步利用id爬取的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python爬取豆瓣电影json数据 的相关文章

  • [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

    前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索 Eastmount 关键字及截图的功能 而这篇文章主要简单介绍如何实现自动登录163邮箱 同时继续介绍Selenium Python官网Locating
  • 手把手操作JS逆向爬虫入门(三)---Headers请求头参数加密

    知识点 1 请求头加密参数分析 2 JS base64加密的多个实现方法 目标网站 aHR0cHM6Ly93d3cub2tsaW5rLmNvbS96aC1jbi9idGMvdHgtbGlzdD9saW1pdD0yMCZwYWdlTnVtPT
  • [python爬虫] 爬取图片无法打开或已损坏的简单探讨

    本文主要针对python使用urlretrieve或urlopen下载百度 搜狗 googto 谷歌镜像 等图片时 出现 无法打开图片或已损坏 的问题 作者对它进行简单的探讨 同时 作者将进一步帮你巩固selenium自动化操作和urlli
  • Python爬虫该怎么学习?学习步骤是什么?

    学Python 想必大家都是从爬虫开始的吧 python爬虫即 网络爬虫 网络爬虫是一种程序 主要用于搜索引擎 它将一个网站的所有内容与链接进行阅读 并建立相关的全文索引到数据库中 然后跳到另一个网站 搜索引擎 SearchEngine 是
  • Python爬虫爬取LOL所有英雄皮肤

    import requests import os import jsonpath from urllib request import urlretrieve 获取ID def get id url https game gtimg cn
  • Python 爬虫库以及库函数总结&&踩坑

    1 Re库的基本使用 Re库介绍 Re库是Python的标准库 主要用于字符串匹配 调用方式 import re 正则表达式的表示类型 raw string类型 原生字符串类型 re库采用raw string类型表示正则表达式 表示为 r
  • 使用python爬取英雄联盟官方英雄皮肤图片

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 版权归原作者所有 如有问题请及时联系我们以作处理 PS 如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可
  • 用Python分析2000款避孕套,得出这些有趣的结论

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 如有问题请及时联系我们以作处理 PS 如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可加入 一 分析目标
  • sublime text3下搭建Python IDE--Anaconda插件(自动补全)

    今天自己想在sublime text3下装个python自动补全插件 当安装一个包管理器时 Package Contral 时 ctrl shift p输入Install Package时 总是报错说没有这个包 在网上也找了很多解决办法 有
  • Python笔记(基本入门函数)

    第一章 快速上手 基础知识 1 3 x y x x y y 注意求余运算符 向下圆整 如果是负数 则更远离0 10 3 10 3 10 3 10 3 十六进制 0x 八进制 0o 十进制 0b 0xAF 175 0o10 8 0b10110
  • 零基础学Python

    作者主页 编程指南针 作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智
  • python爬虫:抓取页面上的超链接

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库 它能够通过你喜欢的转换器实现惯用的文档导航 查找 修改文档的方式 Beautiful Soup会帮你节省数小时甚至数天的工作时间 页面上的超链接 在H
  • 同花顺某v参数详解

    声明 本文章中所有内容仅供学习交流 抓包内容 敏感网址 数据接口均已做脱敏处理 严禁用于商业用途和非法用途 否则由此产生的一切后果均与作者无关 若有侵权 请联系我立即删除 目标站点 aHR0cDovL3EuMTBqcWthLmNvbS5jb
  • [Python

    目录 一 问题简介 二 解决方案 1 全局搜索sign 2 文件局部搜索 3 寻找目标函数 4 调用函数 5 补全JS代码 6 token的获取 三 Python代码 1 UI类 2 爬虫逻辑类 四 完整代码 JS代码 Python代码 一
  • 跳过selenium检测爬取淘宝直通车

    最近 有对阿里商家端进行一些数据爬取 这次爬取的是直通车人群溢价数据 发现对selenium的检测相当厉害 然而我的回答是 你强任你强 清风拂山岗 咱人工登录怕过谁 什么cokies user agent selenium检测 token
  • 初学Python到月入过万最快的兼职途径(纯干货)

    1 兼职薪资 附行哥工资单 2 兼职门槛 附学习知识清单 3 兼职途径 附入职考核过程 4 行哥的兼职感受 答应行友的第一篇赚钱干货推文来啦 行哥第一个在读书期间通过兼职赚到的10w 收入 这也是初学Python小白最快达到月入过万的途径
  • 淘特app x-sign参数签名分析

    之前看见大佬说淘特app的风控比tb的要小很多 于是学习了下t特的签名分析 一 抓包分析 通过Charles抓包分析 分析请求参数 headers x sgext JAWowlF3DRjHdjoiU 2Flc38K43prxmuGa9Jv3
  • 故障分析系列(01) —— scrapy爬虫速度突然变慢原因分析

    故障分析系列 01 scrapy爬虫速度突然变慢原因分析 1 问题背景 在所有环境都没变的情况下 scrapy爬虫每天能爬取的数据量从3月5号开始急剧减少 后面几天数据量也是越来越少 2 环境 系统 win7 python 3 6 1 sc
  • python爬虫概述及简单实践

    文章目录 一 先了解用户获取网络数据的方式 二 简单了解网页源代码的组成 1 web基本的编程语言 2 使用浏览器查看网页源代码 三 爬虫概述 1 认识爬虫 2 python爬虫 3 爬虫分类 4 爬虫应用 5 爬虫是一把双刃剑 6 pyt
  • 几个Python小案例,爱上Python编程!

    Python是一种面向对象的解释型编程语言 源代码与解释器CPython遵守GPL协议 Python语法简洁清晰 语法简洁清晰 那么我们用少量的Python代码能做哪些有趣的东西 一 画爱心表白 1 图形都是由一系列的点 X Y 构成的曲线

随机推荐

  • UE4 如何使用C++代码实现 在指定范围内随机生成同一个种类的不同物品(怪物,NPC,拾取物)的 自定义蓝图

    一 引言 在游戏世界中有特别多的物品 NPC 怪物 使用UE4中的蓝图我们可以摆放这些事务 但是如何在指定范围内随机生成同一个种类的不同事物呢 这就需要UE4 实现 C 自定义 蓝图功能 二 构思 首先我们构思一下实现上诉功能 应该怎么做
  • 抖音怎么上传无损画质_抖音上传视频为什么会模糊?如何才能上传高清无损视频?...

    很多初入抖音的朋友 制作好的视频本地预览没有问题 上传视频到抖音就模糊的不行不行的 特别是竖屏 小时候的黑白电视都比它强 最近私我的小伙伴问这个问题的一定多 所以干脆写篇回答 不知道你们有没有这种情况 今天小编就为大家分析一下产生模糊视频的
  • IE Sieve, Memory Leak detector for Internet Explorer

    IE Sieve Memory Leak detector for Internet Explorer sIEve is a project to get rid of memory leaks due to some limitation
  • 7.Simulink基础建模操作——选择判决运算

    欢迎订阅 FPGA MATLAB SIMULINK系列教程 目录 1 基于Simulink的选择判决运算模块简介 2 判决运算模块建模案例1
  • IOS开发-表视图LV3导航控制器

    学到这里感觉有点难了 其实这篇文章再草稿箱里放了好久了 最近对于学习的热情下降了 这不行 抓紧学习走起 在这一章节的学习中主要针对导航控制器及表视图来建立多视图的应用 首先要了解一些概念 1 导航控制器 UINavigationContro
  • HTTP 协议中的 Transfer-Encoding

    HTTP 协议中的 Transfer Encoding 文章目录 Persistent Connection Content Length Transfer Encoding chunked 本文作为我的博客 HTTP 相关 专题新的一篇
  • 随机森林(RFC)实现模型优化与特征提取

    随机森林既可以进行分类也可以进行回归预测 这里通过随机森林 RFC 模型对汽油辛烷值RON进行特征提取与模型优化 一 导入相关的数据库 import matplotlib pyplot as plt from sklearn ensembl
  • MyBatis介绍及教程

    MyBatis简介 MyBatis 是支持定制化 SQL 存储过程以及高级映射的优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集 MyBatis 可以对配置和原生Map使用简单的 XML 或注解
  • 华为OD机试 - 叠积木(Java)

    题目描述 有一堆长方体积木 它们的宽度和高度都相同 但长度不一 小橙想把这堆积木叠成一面墙 墙的每层可以放一个积木 也可以将两个积木拼接起来 要求每层的长度相同 若必须用完这些积木 叠成的墙最多为多少层 输入描述 输入为一行 为各个积木的长
  • python安装出错

    按照python 程序时候报错 没有更新python 版本 按照上面查看的 pyhon3 m pip install upgrade pip 将命令行路径移到安装python目录下 输入 python exe m pip install u
  • 时间戳获取

  • 在Nuxt应用程序中关闭webpack-hot-middleware客户端覆盖

    有时候 因为代码的语法错误 nuxt界面会弹出 但是 有时候因为缓等原因 即使修复了语法错误 这个提示错误的界面仍然存在 那么 出现这种情况 怎么禁止出这个界面弹出 该如何关闭它呢 在nuxt config js当中配置 overlay f
  • Linux-MYSQL

    1 C语言连接mysql 读 写 2 视图 索引 事务 端口 3306 一 基本操作 1 源码安装 2 命令安装 sudo su gt apt install mysql server 查看进程是否再运行 service mysql sta
  • 20天学会Java-基础阶段笔记

    视频地址 https www bilibili com video BV1Cv411372m 此笔记是 P1 P85 1 开始 1 1 注释 理解 注释是对代码的解释和说明文字 可以提高程序的可读性 因此在程序中添加必要的注释文字十分重要
  • 【千律】C++基础:通过递归函数计算N的阶乘

    include
  • 修改照片尺寸25mm*35mm

    打开方式 画图 gt 调整图片大小 选择像素 gt 修改为295 413即可
  • OpenCloudOS 8 安装rabbitMQ 和Docker

    文章目录 安装环境 Docker CE 安装rabbitMq 安装步骤 1 引入签名 2 为 RabbitMQ 和 Modern Erlang 添加 Yum 仓库 3 更新yum元数据 缓存rabbitmq相关的仓库数据 4 yum安装依赖
  • vue + moment 实现倒计时

    示例 代码 span countDown endDate span 引入日期插件 import moment from moment export default data return now moment endDate 2019 05
  • Windows和iPad传输

    一 电脑操作 1 新建文件夹 2 设置文件夹的属性 选着共享 3 设置高级共享 权限选择完全控制 4 选择共享 选择Everyone 5 在windows搜索栏中输入cmd 打开命令提示符窗口 6 输入ipconfig回车 7 记住你的ip
  • python爬取豆瓣电影json数据

    由于豆瓣里的电影都有专属的id 获取到id后可以进一步爬取其他页面的内容 首先来到主界面 https movie douban com 观察网页 点击 选电影 进入需要爬取的界面 打开Chrome开发模式 并下拉网页观察新生成的文件 可以观