python爬虫基础

一、selenium库驱动浏览器

selenium库是一种用于web应用程序测试的工具,它可以驱动浏览器执行特定操作,自动按照脚本代码做出单击、输入、打开、验证等操作。与requests库不同的是,selenium库是基于浏览器的驱动程序来驱动浏览器执行操作的。且浏览器可以实现网页源代码的渲染,因此通过selenium库还可以轻松获取网页中渲染后的数据信息

1.使用selenium库前的准备

1.selenium库驱动浏览器的原理

虽然浏览器内核可以被selenium库驱定,但还是需要安装对应版本的浏览器内核驱动程序,以便于控制Web浏览器的行为。每个浏览器都有一个特定的用于支持浏览器运行的WebDriver,被称为驱动程序

2.安装WebDriver

在网址找到对应版本的浏览器内核下载,解压找到文件中的chromedriver.exe移动到python安装目录路径下的Scripts文件夹中。如果不知道python安装路径在哪,可以通过cmd输入where python 找到python的安装路径。

找到对应版本的浏览器内核

3.安装selenium库

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/

2.驱动浏览器

python 复制代码
from  selenium import webdriver
from  selenium.webdriver.edge.options import Options

edge_option=Options()

edge_option.binary_location=r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"

driver=webdriver.Edge(options=edge_option)

driver.get("https://www.bilibili.com/")
driver.execute_script("window.open('https://www.bilibili.com/','_blank');")
driver.execute_script("window.open('https://www.shuyishe.com/','_blank');")
driver.execute_script("window.open('https://www.shuyishe.com/course','_blank');")
input("wait")

driver=webdriver.Edge(options=edge_option)

from selenium import webdriver 从selenium导入 webdriver(浏览器驱动)

from selenium.webdriver.edge.options import Options 导入Edge浏览器的options类,这个类允许我们配置WebDriver的行为。

edge_options = Options() 创建一个0ptions类的实例,这将用于设置Edge浏览器的启动选项。

edge_option.binary_location 设置Edge浏览器的文件位置,这样WebDriver知道哪个版本的Edge要启动;这个路径必须指向你的Edge安装目录下的msedge.exe文件。

driver=webdriver.Edge(options=edge_option) 使用上面创建的options实例来初始化WebDriver。

driver.get("https://www.bilibili.com/") 使用get方法iWebDriver打开指定的URL,这里是bilibili的主页

input() input函数在这里用来暂停脚本的执行,直到用户按下回车键。这样做是为了让用户能够观察到浏览器窗口中的结果

driver.execute_script("window.open('https://www.bilibili.com/','_blank');") 这个函数用于浏览器中执行JavaScript代码;window.open是表示在当前的窗口中打开一个新的标签页;'_blank'表示在新的标签页中打开链接,而不是在当前标签页或者新的窗口中打开。

相关推荐
zmzb01031 小时前
Python课后习题训练记录Day194
python·opencv·计算机视觉
benchmark_cc1 小时前
批量获取量化数据时,如何设置合理的超时和重试机制?——QuantDash 高性能实战指南
开发语言·人工智能·python·pandas·量化·quantdash
2601_966949651 小时前
使用 Pandas 读取批量数据时如何避免内存溢出?QuantDash 量化数据工程师避坑指南
开发语言·python·pandas·tushare·akshare·quantdash
65岁退休Coder1 小时前
LangChain v1.3.4 笔记 - 08 MCP & 相关概念
后端·python·langchain
wdloumiga2 小时前
使用 Construct 3零基础做一些2D小游戏
python·游戏·游戏2d
用户8356290780512 小时前
使用 Python 查找和替换 Word 文档中的文本
后端·python
黑马水牛3 小时前
Carla仿真系列:9_Carla 单目障碍物测距,四种方法原理与实测
经验分享·python·深度学习·计算机视觉·ros·传感器·carla仿真
TlSfoward3 小时前
TLS指纹库的数据质量与误判治理 TLSFOWARD TLS指纹库
爬虫·网络协议·http
Python私教3 小时前
多个项目怎么安全合并?适配层、双轨验证与可回滚切换
python·软件架构·系统迁移
船厂电气自动化ai大模型3 小时前
AI大模型与数学第42课:泰勒级数完整展开(神经网络近似核心)
人工智能·python·深度学习·算法·机器学习