Python爬虫入门 | 2 爬取豆瓣电影信息

带你玩转Python爬虫(爬取电影资源篇) 跟着我,python你也可以! 阅读详情

这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源。看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬虫的大门啦~

好啦,正式开始我们的第二节课《爬取豆瓣电影信息》吧!啦啦哩啦啦,都看黑板~

1. 爬虫原理

1.1 爬虫基本原理

听了那么多的爬虫,到底什么是爬虫?爬虫又是如何工作的呢?我们先从“爬虫原理”说起。

爬虫又称为网页蜘蛛,是一种程序或脚本。但重点在于:它能够按照一定的规则,自动获取网页信息。爬虫的通用框架如下:

1.挑选种子URL;
2.将这些URL放入待抓取的URL队列;
3.取出待抓取的URL,下载并存储进已下载网页库中。此外,将这些URL放入待抓取URL队列,进入下一循环;
4.分析已抓取队列中的URL,并且将URL放入待抓取URL队列,从而进入下一循环。

咳咳~
还是用一个具体的例子,来说明吧!

1.2 一个爬虫例子

爬虫获取网页信息和人工获取信息,其实原理是一致的,比如我们要获取电影的“评分”信息:

人工操作步骤:
1. 获取电影信息的页面
2. 定位(找到)到评分信息的位置
3. 复制、保存我们想要的评分数据

爬虫操作步骤:
1. 请求并下载电影页面信息
2. 解析并定位评分信息
3. 保存评分数据

感觉是不是很像?

1.3 爬虫的基本流程

简单来说,我们向服务器发送请求后,会得到返回的页面,通过解析页面之后,我们可以抽取我们想要的那部分信息,并存储在指定的文档或数据库中。这样,我们想要的信息就被我们“爬”下来啦~

2. Requests+Xpath 爬取豆瓣电影

Python 中爬虫相关的包很多:Urllib、requsts、bs4……我们从 requests+xpath 讲起,因为太容易上手了!学习之后你就会发现,BeautifulSoup 还是稍微有点难的。

下面我们用 requests+xpath 爬取豆瓣电影:

2.1 安装 Python 应用包:requests、lxml

如果是首次使用Requests+Xpath,首先需要安装两个包:requests和lxml,在终端分别输入以下两行代码即可(安装方法在第1节中已讲过):

pip install requests
pip install lxml

2.2 导入我们需要的 Python 模块

我们在jupyter中编写代码,首先导入我们需要的两个模块:

import requests
from lxml import etree

Python中导入库直接用”import+库名“,需要用库里的某种方法用”from+库名+import+方法名“。这里我们需要requests来下载网页,用lxml.etree来解析网页。

2.3 获取豆瓣电影目标网页并解析

我们要爬取豆瓣电影《肖申克的救赎》上面的一些信息,网站地址是:
https://movie.douban.com/subject/1292052/

给定 url 并用 requests.get() 方法来获取页面的text,用 etree.HTML() 来解析下载的页面数据“data”。

url = 'https://movie.douban.com/subject/1292052/'
data = requests.get(url).text
s=etree.HTML(data)

2.4 获取电影名称

获取元素的Xpath信息并获得文本:

file=s.xpath('元素的Xpath信息/text()')

这里的“元素的Xpath信息”是需要我们手动获取的,获取方式为:定位目标元素,在网站上依次点击:右键 > 检查

快捷键“shift+ctrl+c”,移动鼠标到对应的元素时即可看到对应网页代码:

在电影标题对应的代码上依次点击 右键 > Copy > Copy XPath,获取电影名称的Xpath:

这样我们就把元素中的Xpath信息复制下来了:

//*[@id="content"]/h1/span[1]

放到代码中并打印信息:

film=s.xpath('//*[@id="content"]/h1/span[1]/text()')
print(film)

2.5 代码以及运行结果

以上完整代码如下:

import requests
from lxml import etree

url = 'https://movie.douban.com/subject/1292052/'
data = requests.get(url).text
s=etree.HTML(data)

film=s.xpath('//*[@id="content"]/h1/span[1]/text()')
print(film)

在 Jupyter 中运行完整代码及结果如下:

至此,我们完成了爬取豆瓣电影《肖申克的救赎》中“电影名称”信息的代码编写,可以在 Jupyter 中运行。

2.6 获取其它元素信息

除了电影的名字,我们还可以获取导演、主演、电影片长等信息,获取的方式是类似的。代码如下:

director=s.xpath('//*[@id="info"]/span[1]/span[2]/a/text()')    #导演
actor1=s.xpath('//*[@id="info"]/span[3]/span[2]/a[1]/text()')  #主演1
actor2=s.xpath('//*[@id="info"]/span[3]/span[2]/a[2]/text()')  #主演2
actor3=s.xpath('//*[@id="info"]/span[3]/span[2]/a[3]/text()')  #主演3
time=s.xpath(‘//*[@id="info"]/span[13]/text()')   #电影片长

观察上面的代码,发现获取不同“主演”信息时,区别只在于“a[x]”中“x”的数字大小不同。实际上,要一次性获取所有“主演”的信息时,用不加数字的“a”表示即可。代码如下:

actor=s.xpath('//*[@id="info"]/span[3]/span[2]/a/text()')  #主演

完整代码如下:

import requests
from lxml import etree

url = 'https://movie.douban.com/subject/1292052/'
data = requests.get(url).text
s=etree.HTML(data)

film=s.xpath('//*[@id="content"]/h1/span[1]/text()')
director=s.xpath('//*[@id="info"]/span[1]/span[2]/a/text()')
actor=s.xpath('//*[@id="info"]/span[3]/span[2]/a/text()')
time=s.xpath('//*[@id="info"]/span[13]/text()')

print('电影名称:',film)
print('导演:',director)
print('主演:',actor)
print('片长:',time)

在jupyter中运行完整代码及结果如下:

3. 关于Requests

Requests库官方的介绍有这么一句话:Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。

这句话直接并霸气地宣示了 Requests 库是 python 最好的一个HTTP库。为什么它有这样的底气?如有兴趣请阅读 Requests 官方文档 。

Requests 常用的七种方法:

4. 关于解析神器 Xpath

Xpath 即为 XML 路径语言(XML Path Language),它是一种用来确定 XML 文档中某部分位置的语言。

Xpath 基于 XML 的树状结构,提供在数据结构树中找寻节点的能力。起初 Xpath 的提出的初衷是将其作为一个通用的、介于 Xpointer 与 XSL 间的语法模型。但是Xpath 很快的被开发者采用来当作小型查询语言。

可以阅读该文档了解更多关于 Xpath 的知识。

Xpath解析网页的流程:
1.首先通过Requests库获取网页数据
2.通过网页解析,得到想要的数据或者新的链接
3.网页解析可以通过 Xpath 或者其它解析工具进行,Xpath 在是一个非常好用的网页解析工具

常见的网页解析方法比较

  • 正则表达式使用比较困难,学习成本较高
  • BeautifulSoup 性能较慢,相对于 Xpath 较难,在某些特定场景下有用
  • Xpath 使用简单,速度快(Xpath是lxml里面的一种),是入门最好的选择

好了,这节课就到这里!

白白~

如果你想有专业老师授课、有系统性知识、有实时在线答疑的老师的话,可以加入我们的课程《Python爬虫(入门+进阶)》。

下节预告:Python爬虫入门 | 3 爬虫必备Python知识

完整7节课程目录:
Python爬虫入门 | 1 Python环境的安装
Python爬虫入门 | 2 爬取豆瓣电影信息
Python爬虫入门 | 3 爬虫必备Python知识
Python爬虫入门 | 4 爬取豆瓣TOP250图书信息
Python爬虫入门 | 5 爬取小猪短租租房信息
Python爬虫入门 | 6 将爬回来的数据存到本地
Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题

分享Python7个爬虫小案例(附源码)_爬虫实例 在这篇文章中,我们将分享7个Python爬虫的小案例,帮助大家更好地学习和了解Python爬虫的基础知识。 阅读详情

相关推荐

python 电影网站爬虫项目_python电影网站(1),Python开发的基础知识

【代码】python 电影网站爬虫项目_python电影网站(1),Python开发的基础知识。

2301_79058515的博客 2万+

python 电影网站爬虫项目

【代码】python 电影网站爬虫项目。

2201_75585366的博客 116万+

网络爬虫——python爬取豆瓣评论

网络爬虫,又被称为网络蜘蛛(Web Spider)、网络机器人等。它根据网页地址(URL)爬取网页内容,网页地址(URL)就是我们在浏览器中输入的网站链接。例如:https://www.baidu.com;网络爬虫不仅能够复制网页信息和下载音视频,还可以做到网站的模拟登录和行为链执行。由于需要爬取的网站大多需要先登录才能正常访问,或者需要登录后的cookie值才能继续爬取,所以需要对网站模拟登录。有些网站设置了Referer防盗链,所以需要执行网页浏览行为链。

qq_36128101的博客 7648

python爬虫——电影天堂电影

【代码】python爬取——电影天堂电影。

2201_75769266的博客 29万+

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

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

愚公智库 12万+

Python爬虫新手入门教学(一):爬取豆瓣电影排行信息

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 Python爬虫、数据分析、网站开发等案例教程视频免费在线观看 https://space.bilibili.com/523606542 基本开发环境 Python 3.6 Pycharm 相关模块的使用 requests parsel csv 安装Python并添加到环境变量,pip安装需要的相关模块即可。 爬虫基本思路 一、明确需求 爬取豆瓣Top250排行.

Python案例分享,B站视频教程:https://space.bilibili.com/523606542 6768

python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息

这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源。看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬虫的大门啦~好啦,正式开始我们的第二节课《爬取豆瓣电影信息》吧!啦啦哩啦啦,都看黑板~1. 爬虫原理1.1 爬虫基本原理听了那么多的爬虫,到底什么是爬虫?爬虫又是如何工作的呢?我们先从“爬虫原理”说起...

weixin_39654465的博客 1752

Python爬虫实战 | 爬取豆瓣电影简介

本案例将介绍如何爬取豆瓣电影简介,以此帮助读者学习如何通过编写爬虫程序来批量地从互联网中获取信息。本案例中将借助两个第三方库——Requests库和BeautifulSoup库。通过Requests库获取相关的网页信息,通过BeautifulSoup库解析大体框架信息的内容,并且将局部信息中最关键的内容提取出来。通过使用第三方库,读者可以实现定向网络爬取和网页解析的基本目标。01首先,需要明确要爬取哪些内容,并精确到需要爬取的网页。在本案例中需要爬取电影的简介,因此选择信息较为全面的豆瓣电影。

Trb201012的博客 1862

python爬取豆瓣电影并分析_Python爬虫入门 | 2 爬取豆瓣电影信息

这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源。看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬虫的大门啦~好啦,正式开始我们的第二节课《爬取豆瓣电影信息》吧!啦啦哩啦啦,都看黑板~1. 爬虫原理1.1 爬虫基本原理听了那么多的爬虫,到底什么是爬虫?爬虫又是如何工作的呢?我们先从“爬虫原理”说起...

weixin_39964391的博客 1502

ESP32Servo库驱动SG90舵机:从入门到精准控制

本文详细介绍了如何使用ESP32Servo库驱动SG90舵机,从硬件连接到软件环境搭建,再到编写示例程序实现精准控制。内容涵盖库安装、基础驱动代码解析、舵机校准方法以及平滑运动控制,帮助开发者快速掌握ESP32控制舵机的核心技能,并提供了电源管理、信号抗干扰等实用避坑指南。

ik678901的博客 897

yersinia -G打不开图形化界面解决方案(曲线救国,实操可行)

附Kali 2021 VMware懒人版,已完成汉化,更新源,并已经安装yersinia。ping 114.114.114.114也不通,接着ifconfig发现 IP地址有的,然后手动配置了IP地址,发现还是Ping不通114.11.4.114.114,然后输入。更新源后,报错源无法解析,同时ping www.baidu.com也不通,那可能是DNS存在问题,更新一下DNS服务器。百度找了很久,有个回答比较接近,但一一尝试了几遍,还是无解,解决不了呀!•(2)Yersinia编译的时候,要选择gtk。

weilandeyongheng的专栏 4168

python爬取豆瓣用的什么包_Python爬虫入门 | 2 爬取豆瓣电影信息

这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源。看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬虫的大门啦~好啦,正式开始我们的第二节课《爬取豆瓣电影信息》吧!啦啦哩啦啦,都看黑板~1. 爬虫原理1.1 爬虫基本原理听了那么多的爬虫,到底什么是爬虫?爬虫又是如何工作的呢?我们先从“爬虫原理”说起...

weixin_30217001的博客 593

SWMM建模与案例应用

4、排水系统控制规则通过控制功能,可以在模拟进行过程中,通过条件判断,对闸门、水泵、管道、孔口、堰进行控制,实现排水系统实时控制。5、SWMM与其他模型对比分析分析:STORM、MOUSE、Info Works、SUSTAIN、SWC。1、模型初始设置主要参数:雨量计、汇水区、节点、出水口、管渠、分流器、蓄水池等参数前缀的设置。2、气象数据设置温度、蒸发、风速、融雪、面积亏损、气候调整、雨量计。1、多软件数据交互:CAD、Arcgis、SWMM。(1)节点、管段、水泵、孔口、堰、雨水口和街道。

m0_74575633的博客 3417

Python爬虫入门 | 2 爬取豆瓣电影信息

点击上方蓝色字体,关注我们15这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源。看着文章,打开电脑动手实践...

Python学习部落 2623

新手避坑指南:用镭神C32和KVH 1750 IMU做标定,为什么直接上lidar_align会失败?

本文详细解析了使用镭神C32激光雷达和KVH 1750 IMU进行标定时常见的失败原因及解决方案。从IMU的微分传感器特性到Lidar-IMU标定的数学本质,再到可行的标定方案和实操注意事项,帮助新手避开认知陷阱,掌握正确的标定方法。

weixin_30162121的博客 327

【智能车Code review】——环岛的判定与补线操作

【1】效果展示图 状态1、状态2 状态3 状态4、状态5 状态6 状态7 状态8 【2】状态机设定需要的参数 以右环岛为例: k_left:左线的斜率 rou_of_left:左线的方差 last_rou_of_left:上一帧的左线方差 l_start:左线第一行为黑的所在行 right_turn_down; right_turn_middle; right_turn_up; 左线的下、中、上拐点 fiv_width[i]:第i行的赛道宽度 leftline_du

hanhan的博客 2万+

python xpath循环_Python爬虫入门-- 2 爬取豆瓣电影信息

这是一个适用于小白的Python爬虫免费教学课程,只有7节,今天是第2节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源。看着文章,打开电脑动手实践,如果你愿意,今天内你就可以迈入爬虫的大门啦~好啦,正式开始我们的第二节课《爬取豆瓣电影信息》吧!啦啦哩啦啦,都看黑板~1. 爬虫原理1.1 爬虫基本原理听了那么多的爬虫,到底什么是爬虫?爬虫又是如何工作的呢?我们先从“爬虫原理”说起。爬虫又称为...

weixin_39815410的博客 844

戴尔PowerEdge R740服务器安装Debian系统后无法显示磁盘阵列

【代码】戴尔PowerEdge R740服务器安装Debian系统后无法显示磁盘阵列。

路~可以走过 1898

python xpath循环_Python爬虫入门?2?爬取豆瓣电影信息

这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源。看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬虫的大门啦~好啦,正式开始我们的第二节课《爬取豆瓣电影信息》吧!啦啦哩啦啦,都看黑板~1. 爬虫原理1.1 爬虫基本原理听了那么多的爬虫,到底什么是爬虫?爬虫又是如何工作的呢?我们先从“爬虫原理”说起...

weixin_39886612的博客 869

【异常】Cursor编辑器 “Taking longer than expected...“ 报错全链路排查与解决方案

该提示并非传统的程序崩溃或语法报错,本质是Cursor编辑器的超时预警机制——当核心任务(云端AI推理请求、本地项目索引等)的执行耗时超出系统预设阈值时,触发的用户告知类提示,核心诱因是任务执行全链路出现阻塞或性能瓶颈。以下方案按排查优先级从高到低排序,覆盖从快速急救到根因根治的全流程,可按步骤逐步验证解决。针对大仓库、多依赖项目的索引超时问题,核心是通过规则过滤无效文件,从根源降低索引负载。

奶爸的编程之路,也就一周冷个三天 3101

Xilinx FPGA平台DDR3设计保姆式教程(1)DDR3基础简介

xilinx平台DDR3设计(1)DDR3简介 如果我们只是拿来用ddr搬砖,那么它就简单,知道IP怎么使用就好,但是要想知其所以然,理论知识是必备的,这也是我们初学者所欠缺的东西,慢慢修炼吧! 目录 一、DDR3简介 二、地址的概念及容量计算 三、重要给概念理解 3.2 列地址脉冲选通潜伏期 3.4 掩码 四、参考资料 一、DDR3简介 DDR3全称double-data-rate 3 synchronous dynamic RAM,即第三代双倍速率同步动态随机存储器。...

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 1万+

【Python网络爬虫案例】python爬虫之爬取豆瓣电影信息

豆瓣是一个电影资讯网站,用户可以在网站上查找电影信息、评论电影等。我们希望通过爬虫程序获取豆瓣电影的名称、评分和简介等信息,以便进行数据分析或制作推荐系统。

左手の明天的博客 4193

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

使用网络爬虫爬取豆瓣电影网站的数据

👨‍💻。

php优质创造者 3102

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

豆瓣电影top250信息爬取

摘要 python的网络爬虫可以方便抓取网页的消息,本文以豆瓣网站为例,实现了python网络爬虫抓取豆瓣电影排行榜top250的过程,以及其中遇到的问题和解决过程。 1.引言 网络爬虫又称网络蜘蛛,或网络机器人。是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。网络爬虫通过网页的链接地址来查找网页内容,并直接返回给用户所需要的数据,不需要人工操纵浏览器获取。Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,具有易于学习、易于维护等优点,其自带了urlib、urlib2等

weixin_44127168的博客 8819

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: Python爬虫入门 | 1 Python环境的安装
下一篇: Python爬虫入门 | 3 爬虫必备Python知识
DataCastle
博客等级 码龄10年 870粉丝 202原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值