Python爬虫:XPath解析爬取豆瓣电影Top250示例

一、示例的函数说明:

函数processing():用于处理字符串中的空白字符,并拼接字符串。

主函数程序入口:每页显示25部影片,实现循环,共10页。通过format方法替换切换的页码的url地址。然后调用实现爬虫程序的函数get_movie_info(),获取电影信息。

二、示例代码:

from lxml import etree
import time
import random
import requestsheaders = {'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'
}def processing(strs):s = ''for n in strs:n = ''.join(n.split())s = s + nreturn sdef get_movie_info(url):response = requests.get(url, headers=headers)html = etree.HTML(response.text)div_all = html.xpath('//div[@class="info"]')for div in div_all:names = div.xpath('./div[@class="hd"]/a//span/text()')name = processing(names)infos = div.xpath('./div[@class="bd"]/p/text()')info = processing(infos)score = div.xpath('./div[@class="bd"]/div/span[2]/text()')evaluation = div.xpath('./div[@class="bd"]/div/span[4]/text()')summary = div.xpath('./div[@class="bd"]/p[@class="quote"]/span/text()')print('电影名称:', name)print('导演与演员:', info)print('影片评分:', score)print('评价人数:', evaluation)print('影片总结:', summary)print('-------分割线-------')if __name__ == '__main__':for i in range(0, 250, 25):url = 'https://movie.douban.com/top250?start={page}&filter='.format(page=i)get_movie_info(url)time.sleep(random.randint(1, 3))

三、运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/691200.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Polygon市值机器人

随着区块链技术的蓬勃发展和数字货币市场的日益繁荣,投资者们对于如何精准把握市场动态、实现资产稳健增长的需求愈发迫切。在这个背景下(市值管理飞//机//aishutuyu),Polygon市值机器人应运而生,作为一款基于Polygon公…

Vue路由开启步骤

1.在控制台输入命令 //控制台下载安装npm add vue-router3.6.5 2.在main.js下导入并注册组件 import Vue from vue import App from ./App.vue//控制台下载安装npm add vue-router3.6.5 //导入 import VueRouter from "vue-router";//注册 Vue.use(VueRouter) con…

自然资源-城镇开发边界内详细规划编制技术指南解读

自然资源-城镇开发边界内详细规划编制技术指南解读

【JS红宝书学习笔记】第1、2章

第1章 什么是JavaScript JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。 ECMAScript:由 ECMA-262 定义并提供核心功能。文档对象模型(DOM):提供与网页内容交互的方法和接口。浏览器对象模型&…

Kafka的安装及接入SpringBoot

环境:windows、jdk1.8、springboot2 Apache KafkaApache Kafka: A Distributed Streaming Platform.https://kafka.apache.org/ 1.概述 Kafka 是一种高性能、分布式的消息队列系统,最初由 LinkedIn 公司开发,并于2011年成为 Apache 顶级项目…

计算机毕业设计】springbootBBS论坛系统

本系统为用户而设计制作 BBS论坛系统,旨在实现BBS论坛智能化、现代化管理。本BBS论坛自动化系统的开发和研制的最终目的是将BBS论坛的运作模式从手工记录数据转变为网络信息查询管理,从而为现代管理人员的使用提供更多的便利和条件。使BBS论坛系统数字化…

win11 u盘启动

本文基于 rufus制作U盘启动盘过程_rufus制作windows11启动盘-CSDN博客 做了简单修改 这里讲一讲制作一个windows11启动盘的过程。 1.首先下载windows11的镜像(可以从这里下载纯净版:https://msdn.itellyou.cn/) 2.从rufus官网下载最新的版…

虚幻五关卡制作学习笔记

1.创建一个移动平台 这个移动平台的功能:从箭头1移动到箭头2来回移动,可移动时发绿光,不可移动时发红光 首先,创建两个材质,发红光和绿光 然后我们创建一个actor蓝图类,添加两个arrow组件,两个…

大数据测试

1、前言 大数据测试是对大数据应用程序的测试过程,以确保大数据应用程序的所有功能按预期工作。大数据测试的目标是确保大数据系统在保持性能和安全性的同时,平稳无差错地运行。 大数据是无法使用传统计算技术处理的大型数据集的集合。这些数据集的测试涉…

【北京迅为】《iTOP-3588从零搭建ubuntu环境手册》-第6章 安装Samba

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

答辩PPT设计缺乏专业感?笔灵AI提供简洁且关键的幻灯片设计

在我原本的认知里面,答辩PPT是要包含论文各个章节的,在答辩时需要方方面面都讲到的,什么摘要、文献综述、实证分析、研究结果样样不落。但是,这大错特错! 答辩PPT环节时长一般不超过5分钟,老师想要的答辩P…

PyCharm 集成 Git

目录 1、配置 Git 忽略文件 2、定位Git 3、使用pycharm本地提交 3.1、初始化本地库 3.2、添加到暂存区 3.3、提交到本地库 3.4、切换版本 4、分支操作 4.1、创建分支 4.2、切换分支 4.3、合并分支 5、解决冲突 1、配置 Git 忽略文件 作用:与项目的实际…