疯狂的爬虫案例(2)文末附源码

ops/2024/10/16 2:29:51/

软件版本号:

python --version
Python 3.8.0

pip show selenium
Version: 4.20.0

chromedriver.exe -version
109.0.5414.74

主题:爬取10条动态网页内容(电影票房)

1.根据xpath获取网页节点(Ctrl+F)

2.使用Console控制台打印节点内容,看是否是自己需要的内容

F12->$x('//title')

3.python代码获取,进行细微调整

python">from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time# 配置WebDriver的路径(确保chromedriver的路径正确)
chrome_driver_path = 'C:/Users/Administrator/Downloads/Compressed/chromedriver_win32/chromedriver.exe'
# 初始化WebDriver:旧版本,会报错
# driver = webdriver.Chrome(executable_path=chrome_driver_path)
# 新版本
service = Service(chrome_driver_path)  
driver = webdriver.Chrome(service=service)# 导航到目标网页
driver.get('https://piaofang.maoyan.com/dashboard/movie')# 等待页面加载完成(根据需要调整等待时间)
time.sleep(5)tbody = driver.find_element(By.XPATH, '//*[@id="app"]/div/div/div[2]/div[1]/div[2]/div/table/tbody')rows = tbody.find_elements(By.TAG_NAME, 'tr')i=1
for row in rows:title = row.find_element(By.XPATH, './td[1]/div/div[@class="moviename-desc"]/p[@class="moviename-name"]').textdays = row.find_element(By.XPATH, './td[1]/div/div[@class="moviename-desc"]/p[@class="moviename-info"]/span[1]').textmoney = row.find_element(By.XPATH, './td[1]/div/div[@class="moviename-desc"]/p[@class="moviename-info"]/span[2]').textprint(str(i) + '.' + title + ' [' + days + '] [票房' + money + ']')#print()  # 换行,表示一行结束    if i == 10:break;i+=1# 关闭浏览器
driver.quit()

运行结果:

1.xxx [点映] [票房5474.1万]
2.xxx [上映32天] [票房9.09亿]
3.xxx [上映27天] [票房7.71亿]
4.xxx [上映31天] [票房2.73亿]
5.xxx [上映26天] [票房5560.5万]
6.xxx [上映27天] [票房1.20亿]
7.xxx [上映11天] [票房1356.9万]
8.xxx [上映39天] [票房3.49亿]
9.xxx [上映27天] [票房1.00亿]
10.xxx [] [票房127.2万]

xxx会根据实际内容输出。


http://www.ppmy.cn/ops/23308.html

相关文章

javaWeb项目-医药进出口交易系统功能介绍

项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog 1、Java技术 Java是…

Android kotlin 协程异步async与await介绍与使用

一、介绍 在kotlin语言中,协程是一个处理耗时的操作,但是很多人都知道同步和异步,但是不知道该如何正确的使用,如果处理不好,看似异步,其实在runBloacking模块中使用的结果是同步的。 针对如何同步和如何异…

应用回归分析,R语音,逐步回归法,第5章

library(readr) data3_1 <- read_csv("data3.1.csv")View(data3_1) lm5<-lm(y~.,data=data3_1) lm6<-step(lm5,direction = "both") summary(lm6) 输出: Start: AIC=377.73 y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9Df Sum of Sq …

R语言--图形绘制

一&#xff0c;绘制简单图形 c1<- c(10,20,30,40,50) c2<-c(2,7,15,40,50) plot(c1,c2,typeb) 具体参数请参考R语言中的绘图技巧1&#xff1a;plot()函数参数汇总_r语言plot参数设置-CSDN博客 c1<- c(10,20,30,40,50) c2<-c(2,7,15,40,50) plot(c1,c2,typeb,col#…

光伏无人机巡检主要有些什么功能和特点?

随着科技的飞速发展&#xff0c;无人机技术已经渗透到多个行业领域&#xff0c;光伏产业便是其中之一。光伏无人机巡检&#xff0c;作为一种新兴的巡检方式&#xff0c;正在逐渐取代传统的人工巡检&#xff0c;为光伏电站的安全、高效运行提供了有力保障。那么&#xff0c;光伏…

Kafka Exactly Once 语义实现原理:幂等性与事务消息

01 前言 在现代分布式系统中&#xff0c;确保数据处理的准确性和一致性是至关重要的。Apache Kafka&#xff0c;作为一个广泛使用的流处理平台&#xff0c;提供了强大的消息队列和流处理功能。随着业务需求的增长&#xff0c;Kafka 的事务消息功能应运而生&#xff0c;它允许应…

git出错、文件无法删除、文件无法访问、文件或目录损坏且无法读取 等相关问题处理

一、错误历程与解决方案 1. 在用idea时&#xff0c;突然出现 部分git的命令无法使用&#xff0c;提示错误 2. 尝试删除项目文件夹&#xff0c;重新从git拉取代码 3.发现无法删除文件夹&#xff0c;删除操作没有任何反应&#xff0c;但是可以对文件夹重命名。 4.重新clone g…

vue:使用:element 中弹框中获取table高度无效

场景&#xff1a;dialog 弹框中想要获取里面table的高度&#xff0c;但是直接用 tableRef.value?.$el.offsetHeight 获取无效。 原因&#xff1a;dialog中有个弹框打开的加载动画。需要用监听 opeined 【Dialog 打开动画结束时的回调】等动画加载后然后进行高度获取 一、dem…