当前位置: 首页 > news >正文

Python爬虫---selenium基本使用

为什么使用selenium?

使用urllib.request.urlopen()模拟浏览器有时候获取不到数据,所以使用selenium

(1) selenium是一个用于web应用程序测试的工具
(2) selenium 测试直接运行在浏览器中,就像真正的用户在操作一样
(3) 支持通过各种driver (FirfoxDriver,IternetExplorerDriver,OperaDriver, ChromeDriver) 驱动真实浏览器完成测试。
(4) selenium也是支持无界面浏览器操作的。

1. 安装selenium(以谷歌为例)

1.1. 安装谷歌浏览器驱动 chromedriver :chromedriver官网下载地址   

注意:chromedriver 需要下载与谷歌浏览器对应的版本,防止版本不兼容

选择自己需要的版本,我这是120.0版本,复制这个链接到空的标签页就可下载

 将下载的解压包解压后无需安装和运行,将exe文件直接放在程序目录下,如下图:

 1.2. 安装selenium:pip install seleniumpip install selenium -i https://pypi.douban.com/simpl

如果报错可以安装此版本(需卸载之前的):pip install selenium==3.3.1

注意:需要安装在python解释器下面,例如:D:\Program Files\Python3.11.4\Scripts

2. 使用selenium基础

1)导入selenium

2)创建浏览器操作对象

3)访问网站

# import urllib.request
# url = "https://www.jd.com/"
# response = urllib.request.urlopen(url=url)
# content = response.read().decode("utf-8")
# print(content)  # 获取不到京东秒杀活动,所以需要使用selenium# 1)导入selenium
from selenium import webdriver
# from selenium.webdriver.common.by import By
# 2)创建浏览器操作对象
path = "chromedriver.exe"  # 驱动路径browser = webdriver.Chrome(path)# 3)访问网站
url = "https://www.baidu.com"browser.get(url)
browser.get("https://www.jd.com/")# page_source:获取网页源码
content = browser.page_source
print(content)   # 可以获取京东秒杀活动

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2024年第一天,玩飞越丛林
  • GO语言基础笔记(九):工程实践
  • 32阵元 MVDR和DREC DOA估计波束方向图对比
  • Apache DolphinScheduler 3.1.9 版本发布:提升系统的稳定性和性能
  • 超图iClient3DforCesium地形、影像、模型、在线影像交互示例
  • 启明智显开源项目分享|基于Model 3c芯片的86中控面板ZX3D95CM20S-V11项目软硬件全开源
  • SPI通信
  • 【如何选择Mysql服务器的CPU核数及内存大小】
  • Linux学习第49天:Linux块设备驱动实验(一):Linux三大驱动之一
  • 硬件安全模块 (HSM)、硬件安全引擎 (HSE) 和安全硬件扩展 (SHE)的区别
  • 四十八----react实战
  • IO进程线程 day1 IO基础+标准IO
  • 爬虫工作量由小到大的思维转变---<第三十章 Scrapy Redis 第一步(配置同步redis)>
  • UntiyShader(六)Unity提供的Cg/HLSL语义
  • AI提示词入门教程
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • Elasticsearch 参考指南(升级前重新索引)
  • FineReport中如何实现自动滚屏效果
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • MySQL的数据类型
  • PHP 7 修改了什么呢 -- 2
  • Redux 中间件分析
  • 笨办法学C 练习34:动态数组
  • 闭包,sync使用细节
  • 仿天猫超市收藏抛物线动画工具库
  • 聚簇索引和非聚簇索引
  • 盘点那些不知名却常用的 Git 操作
  • 详解移动APP与web APP的区别
  • 用jQuery怎么做到前后端分离
  • Nginx实现动静分离
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​如何防止网络攻击?
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • ![CDATA[ ]] 是什么东东
  • # 安徽锐锋科技IDMS系统简介
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #微信小程序:微信小程序常见的配置传旨
  • %check_box% in rails :coditions={:has_many , :through}
  • (1)Hilt的基本概念和使用
  • (3)选择元素——(17)练习(Exercises)
  • (k8s中)docker netty OOM问题记录
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (安卓)跳转应用市场APP详情页的方式
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (四)软件性能测试
  • (新)网络工程师考点串讲与真题详解
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • *setTimeout实现text输入在用户停顿时才调用事件!*