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'表示在新的标签页中打开链接,而不是在当前标签页或者新的窗口中打开。

相关推荐
玉鸯8 分钟前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
weixin_446260851 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
我的xiaodoujiao1 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
qetfw1 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
用户8356290780512 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python
一次旅行2 小时前
Python+大模型端到端自动化日报系统
开发语言·python·自动化
天天爱吃肉82183 小时前
【电源拆解:跟着问答逐一认识开关适配器PCB元器件】
大数据·人工智能·python·功能测试·嵌入式硬件·汽车
_Jimmy_3 小时前
AI应用开发工程师面试题库
人工智能·python·深度学习·机器学习·知识图谱
用户8356290780513 小时前
Python 实现 Excel 命名范围(Named Range)的创建与管理
后端·python