使用Python爬虫抓取豆瓣电影标题

一、前言

在这个小项目中,我们将学习如何使用Python的requests库和lxml库来爬取豆瓣电影首页上的电影标题,并将这些标题保存到一个文本文件中。这不仅能够帮助我们了解基本的网页抓取技术,还能让我们熟悉数据处理的基本流程。

二、环境准备

确保你的开发环境中已经安装了以下Python库:

  • requests:用于发送HTTP请求。
  • lxml:用于解析HTML内容。

可以通过pip命令安装它们:

pip install requests
pip install lxml

三、代码实现

3.1 导入所需库

import requests  # 导入requests库,用于发送HTTP请求
from lxml import etree  # 导入lxml库,用于解析HTML文本

3.2 发送请求并获取响应

在这里插入图片描述
爬取豆瓣实例网站:
https://movie.douban.com

url = 'https://movie.douban.com'  # 定义要访问的网址
headers = {  # 定义请求头,模拟浏览器访问
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.36'
}
response = requests.get(url=url, headers=headers)  # 发送GET请求,获取网页内容

3.3 解析网页内容

tree = etree.HTML(response.text)  # 使用lxml解析网页内容

3.4 提取电影标题

按F12打开开发者工具,再点击选取元素工具选中元素即可出现特定的抓取数据
在这里插入图片描述
使用XPath提取特定位置的图片alt属性中的电影标题。
在这里插入图片描述

titles = tree.xpath('/html/body/div[3]/div[1]/div/div[2]/div[1]/div[2]/ul/li/ul/li/a/img/@alt')  # 提取网页中的标题

3.5 保存结果

with open('./douban_titles.txt', 'w', encoding='utf-8') as fp:  
# 打开一个文件,用于存储提取到的标题,其中'./douban_titles.txt'代表的是在当前目录下生成的文档
    for title in titles:  # 遍历标题列表
        fp.write(f"{title}\n")  # 将标题写入文件
        print(title)  # 打印标题

四、运行结果

749局
只此青绿
志愿军:存亡之战
出走的决心
浴火之路
门前宝地
变形金刚:起源
熊猫计划
危机航线
爆款好人
荒野机器人
里斯本丸沉没
出入平安
非礼勿言
重生
逆行人生
姥姥的外孙
刺猬
抓娃娃
野孩子
富都青年
异形:夺命舰
祝你幸福!
一雪前耻
大场面
新大头儿子和小头爸爸6:迷你大冒险
皮皮鲁和鲁西西之309暗室
名侦探柯南:百万美元的五棱星
解密
通往夏天的隧道,再见的出口
全员嫌疑人
食神
白蛇:浮生
奇妙萌可大电影
开国宴风云
神偷奶爸4
狄仁杰之通天帝国
航海王:强者天下
乡见未晚
森林飞侠
稍微想起一些
靠近维米尔
地球脉动:极境生存
姜子牙
小孩儿
小猪哼唧
床与早餐
夜光藻
OK谢谢再见
洛克和舒尔
最后一聚
大人物
母狮

当你运行上面的代码后,你会看到控制台输出抓取到的电影标题,并且这些标题会被保存到当前目录下的douban_titles.txt文件中。

五、完整代码及总结

import requests  # 导入requests库,用于发送HTTP请求
from lxml import etree  # 导入lxml库,用于解析HTML文本

url = 'https://movie.douban.com'  # 定义要访问的网址

headers = {  # 定义请求头,模拟浏览器访问
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.36'
    }
response = requests.get(url=url, headers=headers)  # 发送GET请求,获取网页内容
# print(response.text)  # 打印网页内容
tree = etree.HTML(response.text)  # 使用lxml解析网页内容
titles = tree.xpath('/html/body/div[3]/div[1]/div/div[2]/div[1]/div[2]/ul/li/ul/li/a/img/@alt')  # 提取网页中的标题
# 打印提取到的标题
with open('./douban_titles.txt', 'w', encoding='utf-8') as fp:  # 打开一个文件,用于存储提取到的标题
    for title in titles:  # 遍历标题列表
        fp.write(f"{title}\n")  # 将标题写入文件
        print(title)  # 打印标题

通过这个简单的例子,我们学会了如何利用Python进行基本的网络爬虫操作。这只是一个起点,实际应用中可能需要处理更复杂的网页结构和反爬策略。希望你能通过实践进一步探索网络爬虫的世界!

Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发的Python爬虫工具项目,主要用于合法取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了代码,我还分享了整个项目的文件,包括设计稿、图标、图片等资源。这些资源对于理解项目背景和设计思路至关重要。 文档与操作手册:为了方便他人理解和使用我的作品,我编写了详细的操作手册和使用说明,同时提供了一份Markdown格式的文档,概述了项目的主要功能和特点。 学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感兴趣的人,无论你是学生、初学者还是有一定经验的开发者。无论你是想学习新的技术,还是想了解一个完整的项目开发流程,这份资料都将为你提供极大的帮助。 使用建议: 按部就班地学习:建议从基础的Python爬虫开发开始,逐步深入到实际应用中。通过实践,逐步掌握Python爬虫开发的各项技能。 参考项目文件和笔记:项目文件和笔记提供了丰富的背景信息和开发经验。在学习的过程中,不妨参考这些资料,以帮助你更好地理解和学习。 动手实践:Python爬虫开发是一门实践性很强的技能。通过实际操作,你可以更好地掌握Python爬虫开发的各项技能,并提高自己的实践能力。Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发的Python爬虫工具项目,主要用于合法取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了代码,我还分享了整个项目的文件,包括设计稿、图标、图片等资源。这些资源对于理解项目背景和设计思路至关重要。 文档与操作手册:为了方便他人理解和使用我的作品,我编写了详细的操作手册和使用说明,同时提供了一份Markdown格式的文档,概述了项目的主要功能和特点。 学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感兴趣的人,无论你是学生、初学者还是有一定经验的开发者。无论你是想学习新的技术,还是想了解一个完整的项目开发流程,这份资料都将为你提供极大的帮助。 使用建议: 按部就班地学习:建议从基础的Python爬虫开发开始,逐步深入到实际应用中。通过实践,逐步掌握Python爬虫开发的各项技能。 参考项目文件和笔记:项目文件和笔记提供了丰富的背景信息和开发经验。在学习的过程中,不妨参考这些资料,以帮助你更好地理解和学习。 动手实践:Python爬虫开发是一门实践性很强的技能。通过实际操作,你可以更好地掌握Python爬虫开发的各项技能,并提高自己的实践能力。Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发的Python爬虫工具项目,主要用于合法取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了代码,我还分享了整个项目的文件,包括设计稿、图标、图片等资源。这些资源对于理解项目背景和设计思路至关重要。 文档与操作手册:为了方便他人理解和使用我的作品,我编写了详细的操作手册和使用说明,同时提供了一份Markdown格式的文档,概述了项目的主要功能和特点。 学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感兴趣的人,无论你是学生、初学者还是有一定经验的开发者。无论你是想学习新的技术,还是想了解一个完整的项目开发流程,这份资料都将为你提供极大的帮助。 使用建议: 按部就班地学习:建议从基础的Python爬虫开发开始,逐步深入到实际应用中。通过实践,逐步掌握Python爬虫开发的各项技能。 参考项目文件和笔记:项目文件和笔记提供了丰富的背景信息和开发经验。在学习的过程中,不妨参考这些资料,以帮助你更好地理解和学习。 动手实践:Python爬虫开发是一门实践性很强的技能。通过实际操作,你可以更好地掌握Python爬虫开发的各项技能,并提高自己的实践能力。Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发的Python爬虫
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值