数据采集——爬虫篇(一):豆瓣电影TOP250详细信息采集

Python 爬虫之爬豆瓣TOP250电影 爬虫超详细讲解 零基础入门 先看后赞,养成习惯!!! 点赞收藏,人生辉煌!!! 讲解我们的爬虫之前,先概述关于爬虫的简单概念(毕竟是零基础教程) 爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。 原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。 为什么我们要使用爬虫 互联网大数据时代,给予我们的是生活的便利以及海量数据爆炸式的出现在网络中。 过去,我们通过书籍、报纸、电视、广播或许信息,这些信息数量有限,且... 阅读详情
AI摘要

本文介绍如何使用Python爬虫技术抓取豆瓣电影TOP250的详细信息,包括电影名称、图片、导演、演员、评分等,并演示了如何解析网页源码、使用正则表达式提取数据、下载图片和保存文本信息。

数据采集——爬虫篇(一):豆瓣电影TOP250详细信息采集

.

1.分析豆瓣url换页变化

打开
https://movie.douban.com/top250?start=0&filter=
来到豆瓣主页
此处可以观察到电影是在第1个序号开始的,暂时记住url,观察后续变化
在这里插入图片描述
切换第二页,发现url变化:
https://movie.douban.com/top250?start=25&filter=
第二页如下:
在这里插入图片描述

**url第一页:https://movie.douban.com/top250?start=0&filter=
**url第二页:https://movie.douban.com/top250?start=25&filter=
可以明确观察到切换一页start=后的参数增加25
通过页面数据发现一页是25个电影
通常情况下数组的下标是在0开始的
即0是第一个元素,所以第二页是从第26个电影开始,按照数组排序是编号25的元素开始,由此可以得知url的参数从0开始到24为第一页的25个电影,第二页起始则为25,以此类推后续页数起始值是50,75…

.

2.python模拟发送requests请求主页信息:

代码如下:

import requests
url = 'https://movie.douban.com/top250?start=0&filter='
headers = {
   
   
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"} 
response = requests.get(url, headers=headers)  #headers是模拟浏览器的头部标识,这是反爬机制的一种
text = response.text
print(text)

可以在打印的结果中看到该页的网页源码(以下展示部分源码):

<li>
            <div class="item">
                <div class="pic">
                    <em class="">1</em>
                    <a href="https://movie.douban.com/subject/1292052/">
                        <img width="100" alt="肖申克的救赎" src="https://img3.doubanio.com/view/photo/s_ratio_poster/public/p480747492.webp" class="">
                    </a>
                </div>
                <div class="info">
                    <div class="hd">
                        <a href="https://movie.douban.com/subject/1292052/" class="">
                            <span class="title">肖申克的救赎</span>
                                    <span class="title">&nbsp;/&nbsp;The Shawshank Redemption</span>
                                <span class="other">&nbsp;/&nbsp;月黑高飞(港)  /  刺激1995(台)</span>
                        </a>


                            <span class="playable">[可播放]</span>
                    </div>
                    <div class="bd">
                        <p class="">
                            导演: 弗兰克·德拉邦特 Frank Darabont&nbsp;&nbsp;&nbsp;主演: 蒂姆·罗宾斯 Tim Robbins /...<br>
                            1994&nbsp;/&nbsp;美国&nbsp;/&nbsp;犯罪 剧情
                        </p>

                        
                        <div class="star">
                                <span class="rating5-t"></span>
                                <span class="rating_num" property="v:average">9.7</span>
                                <span property="v:best" content="10.0"></span>
                                <span>2035033人评价</span>
                        </div>

                            <p class="quote">
                                <span class="inq">希望让人自由。</span>
                            </p>
                    </div>
                </div>
            </div>
        </li>

根据该段源代码,编写正则表达式来获取详细信息:
以下使用正则表达式的懒惰(非贪婪)模式,(.*?)为需要获取信息的字段

regix = '<div class="item">.*?<div class="pic">.*?<em class="">(.*?)</em>.*?<img.*?src="(.*?)" class="">
爬虫入门经典(四) | 如何爬取豆瓣电影Top250 大家好,我是不温卜火,昵称来源于成语—不温不火,本意是希望自己性情温和。 阅读详情

相关推荐

python爬取豆瓣网站TOP250

UA(user-agent)伪装,是我本次采用的伪装策略,也是最简单的伪装策略,有些网站的反爬机制比较复杂,则需要采用更加复杂的反反爬机制来进行伪装,不过,对于豆瓣来说,UA伪装就够用了。状态码是418,意思是服务器拒绝了我们的请求。这是因为服务器没有识别到我们是用户端,所以为了保证网站数据的安全,将我们拒之门外。可以看到电影的信息都在<li>.....<li>中的,我们拿到本页面的html代码之后开始解析数据。可以看到,我们已经得到了整个页面的html代码,那么下一步我们就需要从中提取我们需要的信息。

m0_73511684的博客 1206

R语言爬虫:豆瓣电影Top250(一)

时间:2018年十一假期(学习) 2018-10-8(记录) 参考:【译文】R语言网络爬虫初学者指南(使用rvest包)、R语言爬虫-RCurl和XML学习笔记 爬取内容:豆瓣电影Top250:排名、片名、评论、评分、评论人数、上映时间、国家以及影片类型 R语言爬虫:豆瓣电影Top250(一) 前期准备 SelectorGadget:是一个很好用的开源插件,我们可以通过该软件获得所需数据的标签...

woooooood的博客 8433

【愚公系列】《Python网络爬虫从入门到精通》015-案例:爬取豆瓣电影Top 250

在信息丰富的互联网时代,网络爬虫技术为我们提供了获取和分析数据的强大工具。作为一个涵盖了大量影视信息的平台,豆瓣电影以其丰富的用户评分和评论,成为了电影爱好者和研究者的重要资源。而在众多的数据抓取项目中,爬取豆瓣电影Top 250无疑是一个经典且颇具挑战性的案例。在本期文章中,我们将详细解析如何利用Python编写网络爬虫,专门针对豆瓣电影Top 250进行数据抓取。我们将一步步介绍从分析网页结构、构建请求、处理响应,到提取电影信息(如标题、评分、评论等)的整个流程。

愚公智库 12万+

爬虫豆瓣top250

爬虫豆瓣top250前言一.爬虫是什么二.爬取豆瓣的原因三.爬虫项目步骤1.准备工具2.学习python的相关知识3.爬虫过程讲析四.成果展示五.代码展示 前言 ​ 随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,为了解决上述问题,定向抓取相关网

nobleecho的博客 4173

Python爬虫项目集:豆瓣电影排行榜top250

爬虫写得好,牢饭吃到饱”,业内常用这个段子来调侃爬虫工程师。因为做爬虫有些敏感、重要的数据是不能随便抓取,进行商业利用的,不然随时都可能被请去“喝茶”。今年,就有好多互金公司因为爬虫的问题,被举报调查。但不管怎样,爬虫技术是无罪的,还是值得我们开发人员去学习了解一下的。在学习之前,我们还是要先了解一下相关概念。网络爬虫:又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。

2401_85900557的博客 1943

利用定向网络爬虫爬取豆瓣电影top250【Python】

最近在外地实习,闲来无事学了一下requests库和BeautifulSoup,掌握基本用法之后试着爬取了一下豆瓣电影top250,中间也参考了不少其他大佬的博客,所以最后写出来的代码也都大同小异吧,就当聊以自慰了。 简介 利用requests库和bs4中的BeautifulSoup,实现对豆瓣电影top250的爬取,最后将电影信息写入一个文本文件中。 代码如下 ''' @Author ...

每天都要学Python的博客 2838

豆瓣Top250电影爬虫

随着社会科技的发展,互联网已经成为一个庞大的信息载体,通过网络爬虫自动搜集网上的资源已经成为人们利用互联网的高效方法。网络爬虫不仅可以将其采集的资源提供给搜索引擎,解决搜索问题,也可以定向的信息采集,得到人们需要的信息资源,如在招聘网收集岗位信息,购物网收集商品信息等。 本次通过python实现了一个在豆瓣网收集豆瓣Top250的信息,通过bs4对其进行解析,搭配正则表达式提取数据,并将信息存入数据库。之后使用Flask实现数据的可视化,通过网页、图表的形式展现出来。 关键字:Python, Flask,H

qq_38914914的博客 2040

FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译

FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, MBD) 的开源自驾仪,可被用来快速构建无人机,无人车,无人船,机器人等平台的控制系统。 系统主要由两部分构成. FMT-Firmware: 一个基于C/C++开发的稳定、高性能的嵌入式系统. FMT-Model: 一个基于MATLAB/Simulink开发的仿真框架以及算法库. 昨天得知FMT开源飞控项目已经开

weixin_45786595的博客 2870

别再为SCI论文配图发愁了!手把手教你用PS+AI搞定从数据图到模式图的全流程

本文详细解析了如何利用Photoshop(PS)和Illustrator(AI)高效完成SCI论文配图的全流程,涵盖数据可视化、模式图设计及期刊适配性输出。通过实战案例,帮助科研人员掌握位图与矢量图的处理技巧,提升论文配图质量,满足不同期刊的出版要求。

weixin_28630185的博客 381

树莓派4在Bookworm Raspbian系统下无法进入桌面模式(启动后出现彩色画面,然后一直黑屏,但是可以正常启动和ssh)

本文记录了这段比较坎坷的探索之路,由于你的问题不一定是我最终解决方案的,可能是前面探索路上试过的,所以建议按顺序看排除前置问题。 双十一又买了个树莓派 4B,插上之前树莓派 4B 的 TF 卡直接就能使用(毕竟是一样规格的)。但是由于用来连接硬盘的 USB 线是坏的,我以为是系统问题就进行了重装(所以坏掉的线还是直接扔了好)。 重新安装系统就装了最新的 2023-10-10 版本的 64 位的 Raspberry Pi OS,但是出现了一个问题: 启动后出现彩色画面,然后一直黑屏。

ZhongUncle的博客 3735

postman响应体:“msg“: “请求缺失签名Sign“、 “msg“: “请求缺失时间戳“

请求标头有Sign、Timestamp,但是直接将网址复制到postman时,Headers没有自动生成这两个参数,所以运行时会报错。

m0_46862648的博客 1706

宇树机器人G1二次开发:导览、起始点、目的地与完整示例

通过宇树G1 SDK的导航接口,开发者可以高效地实现机器人的自主移动功能。连接 -> 设置目标点 -> 发送命令 -> 监控状态。本文提供的完整示例涵盖了从环境搭建到代码实现的全部步骤,并解释了起始点、目的地等关键概念。开发者可以在此基础上,结合多目标点巡逻、动态避障(需高级配置)等功能,构建更复杂的机器人应用。建议读者先在小范围、熟悉的平坦环境中测试,成功后再逐步扩展到更复杂的场景。

m0_52645558的博客 747

鲁棒优化 (Robust Optimization) 算法详解及案例分析

鲁棒优化是一种用于处理不确定性优化问题的方法。其目标是在不确定性参数的可能取值范围内,找到一个对不确定性具有鲁棒性的解。

闲人编程的博客 4327

BiSeNet:面向实时语义分割的双边网络

BiSeNet 系列重新定义了实时语义分割的范式“不要在速度和精度之间妥协——用架构创新,两者兼得。V1:提出双边解耦思想,启发后续大量工作;V2:通过极致轻量化,证明小模型也能高精度;V3(工业版):推动端侧 AI 落地,成为行业标准之一。如今,BiSeNet 已成为嵌入式视觉系统的默认选择,其设计理念(解耦、轻量、融合)被广泛应用于目标检测、姿态估计等领域。

浩瀚之水的专栏 267

分布式训练中All-Reduce、All-Gather、Reduce-Scatter原理

Reduce-Scatter = 先对所有进程的数据做 Reduce(如 sum / mean),再把结果“切分”分发给各进程。(是 Reduce + Scatter 的融合操作。

comli_cn的博客 340

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 大数据组件Logstash日志采集和filebeat采集日志与数据库交互(1+x证书方向)
下一篇: 爬虫进阶——视频抓取(视频加密分割案例)中国职业培训在线网
大不列颠岛主
博客等级 码龄8年 48粉丝 7原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值