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

相关推荐
傻啦嘿哟3 分钟前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_933670795 分钟前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
2601_9620776014 分钟前
python Dejavu库快速识别音频指纹实例探究
python·音乐识别·dejavu库·音频指纹识别·实例探究
科技苑31 分钟前
如何用Python编程实现一个简单的Web爬虫?
人工智能·python
dayDayupbetter1 小时前
Visual C++ 2010安装与使用高手秘籍
python
隐擎fox1 小时前
深入理解网络传输层安全:TLS 指纹识别(JA3/JA4)原理与 Python 协议层检测实战
爬虫·python·网络协议·安全·网络安全·https
医疗信息化王工1 小时前
DataForge:基于 Python 的数据库批量导出 Excel 工具——从架构到部署的全流程实战
数据库·python·excel
小玮看世界2 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python
Java陈序员3 小时前
轻量运维面板!一款现代化的服务器控制面板工具!
运维·服务器·python·react.js·github
2601_962097363 小时前
1. 使用 C 或 C++ 扩展 Python
python·api·c·引用计数·扩展模块