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

相关推荐
IVEN_7 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang8 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮8 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling8 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮11 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽12 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健1 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞1 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers