理解三个工具的分工
把它们想象成一个数据处理团队:
工具 角色 主要工作
Pandas 数据分析员 筛选、计算、汇总数据
openpyxl Excel 助手 写入单元格、调整格式、保存工作簿
Selenium 浏览器操作员 打开网页、点击元素、读取网页内容
例如,你想研究 Amazon 产品的价格变化:
Selenium 可以在适当情况下打开网页并读取公开显示的信息。
Pandas 可以整理价格数据、计算均价和变化幅度。
openpyxl 可以将分析结果输出成格式整齐的 Excel 报表。
如果网站提供官方 API 或可下载报表,通常优先考虑这些更稳定的方式;不是所有数据获取任务都需要 Selenium。
第 1步:安装 Selenium
在VS Code 终端中输入
python-m pip install selenium按 Enter,等待安装完成。
Selenium 4 通常可以通过 Selenium Manager 自动处理兼容的浏览器驱动,因此先不用手动下载 ChromeDriver。
第 2 步:检查 Selenium 版本
在 VS Code 的 Jupyter Notebook 里,新建一个代码单元格,运行:
importseleniumprint(selenium.__version__)import selenium:把 Selenium 导入当前 Notebook。
print(selenium.version):显示安装的版本号。
第 3 步:用 Selenium 打开网页
这一步我们让 Python 模拟人类操作浏览器:启动 Chrome,然后打开 Selenium 官方提供的练习网页。暂时不抓取 Amazon,先把基本操作跑通。
fromseleniumimportwebdriver driver=webdriver.Chrome()driver.get("https://www.selenium.dev/selenium/web/web-form.html")from selenium import webdriver:导入浏览器控制工具。
webdriver.Chrome():启动 Chrome 浏览器。可以把它理解为叫来一个浏览器操作员。
driver.get(…):让浏览器访问指定网址。以后换网址,只需要修改引号里的链接。
程序一直在运行,但没有弹出Chorme
1.检查是否安装了chorme
2.在终端输入检查环境
python-c"import shutil; print(shutil.which('chrome')); print(shutil.which('chromedriver'))"检查 Chrome 是否安装在默认位置
```powershell Test-Path"C:\Program Files\Google\Chrome\Application\chrome.exe"Test-Path"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"Test-Path"$env:LOCALAPPDATA\Google\Chrome\Application\chrome.exe"第一行是 True,说明它安装在: C:\Program Files\Google\Chrome\Application\chrome.exe 检查 Selenium 能否启动 Chrome 先确认 Jupyter 里之前一直运行的代码已经停止。然后在 VS Code 的终端中运行下面这条命令。 ```powershell python -c "from selenium import webdriver; d=webdriver.Chrome(); print('Chrome启动成功'); d.quit()"打开网页
fromseleniumimportwebdriver driver=webdriver.Chrome()driver.get("https://www.selenium.dev/selenium/web/web-form.html")print(driver.title)Selenium 可以模拟点击、输入、翻页等浏览器操作。
第 4 步:读取网页信息
刚才你让 Selenium 打开了网页。接下来,我们让它像人一样,看看网页的标题,并读取页面上的文字。
print("网页标题:",driver.title)text=driver.find_element("tag name","h1").textprint("页面标题文字:",text)driver.title:读取浏览器标签页的网页标题。
find_element(…):在网页里寻找一个指定元素。
“tag name”, “h1”:寻找 HTML 中的一级标题,就像找到网页上最大号的标题。
.text:取出这个元素里显示的文字。
注意:这里的 driver 是刚才启动浏览器时创建的变量。如果你重启过 Notebook 内核,需要重新执行启动浏览器的代码。
是h1,数字1
第 5 步:把抓取结果整理成表格
实际工作中,我们通常不会只抓取一个标题,而是希望把抓到的信息整理成结构化数据,方便后续用 Pandas 分析,或者用 openpyxl 写入 Excel。
我们先把刚才读取的网页信息整理成一张小表格。
i
mport pandasaspd data={"项目":["网页标题","页面标题文字"],"抓取结果":[driver.title,text]}df=pd.DataFrame(data)print(df)data:把抓取结果装进两个字段里,像先把资料放进两个文件夹。
pd.DataFrame(data):把资料整理成表格。
print(df):显示整理后的表格。
Selenium:采集员
打开网页、点击按钮、读取网页文字。
Pandas:分析员
清洗数据、计算指标、筛选异常。
openpyxl:Excel 助手
把结果写入 Excel,设置格式并保存文件。
以后做 Amazon 数据分析时,可以把这条流程理解成:
网页采集 → 数据整理 → 指标分析 → 导出 Excel。
当然,真实的 Amazon 页面可能有登录、反爬限制或访问权限,不能假设 Selenium 可以直接抓取所有数据。