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

相关推荐
岁月宁静36 分钟前
RAG 文档摄入全链路,从原理到生产落地
vue.js·人工智能·python
JaydenAI1 小时前
[对比学习LangChain和MAF-07]如何引入人机交互的审批流程
python·ai·langchain·c#·agent·hitl·maf
神奇元创2 小时前
商用级光路加速卡:大模型推理的极速落地方案
python·神经网络·fpga开发·dsp开发
运筹vivo@2 小时前
Python ContextVar 底层机制与内存模型拆解
前端·数据库·python
大白菜和MySQL2 小时前
java应用排查高线程
java·python
嵌入式协会20240722 小时前
(已解决)MinIO python 获取预签名出现forbidden、errornetwork等错误
java·开发语言·python
宸丶一2 小时前
Day 14:任务追踪 - 让 Agent 拥有项目管理能力
开发语言·python
skylar03 小时前
小白1分钟安装flash-attn
开发语言·python
JustNow_Man3 小时前
psmux快捷键
人工智能·python