Python 爬虫实战:爬取苏宁商品评论
本文以爬取苏宁手机评论为例,讲解 Python 爬虫的实现过程。通过 Selenium 模拟浏览器操作,自动抓取商品的好评和差评并保存到本地文件。
一、核心概念
1.1 什么是爬虫?
爬虫是模拟人的操作,自动访问网页、提取指定信息的程序。它可以替代人工完成打开浏览器、加载页面、提取评论、翻页、保存内容等机械操作。
1.2 为什么选 Selenium?
苏宁的评论页面采用了动态加载技术,普通的请求工具无法直接获取到评论内容。Selenium 是一款自动化测试工具,可以模拟真实的浏览器操作(比如点击、翻页、等待页面加载),完美解决动态页面的爬取问题。
1.3 核心名词解释
- 驱动(Driver):代码和浏览器之间的桥梁,用于传递指令。
- 定位元素:找到评论在网页中的位置,常用方式有按类名、XPath、ID 等。
- 等待机制:设置等待时间,确保页面加载完成后再执行后续操作。
- 翻页逻辑:判断页面是否有'下一页'按钮,有则点击,无则停止。
二、环境搭建
2.1 安装 Python
推荐安装 3.8 及以上版本。安装时勾选'Add Python to PATH',验证方法:CMD 输入 python --version。
2.2 安装 Selenium 库
在 CMD 中输入命令:pip install selenium。验证:pip show selenium。
2.3 关于浏览器驱动
新版 Selenium 已实现'驱动自动管理',运行代码时会自动检测浏览器版本并下载匹配的驱动,无需手动操作。
三、核心代码解析
3.1 基础版代码
from selenium import webdriver
from selenium.webdriver.edge.options import Options
from selenium.webdriver.common.by import By
import time
# 1. 配置 Edge 浏览器
__browser_url = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
chrome_options = Options()
chrome_options.binary_location = __browser_url
driver = webdriver.Edge(options=chrome_options)
# 2. 访问苏宁好评页面
review_url = 'https://review.suning.com/cluster_cmmdty_review/cluster-38249278-000000012389328846-0000000000-1-good.htm?originalCm'
driver.get(review_url)
# 3. 打开本地文件
yzpj_file = open('优质评价.txt', 'w')
# 4. 定义函数:提取当前页面的评论
():
pj_elements_content = driver.find_elements(by=By.CLASS_NAME, value=)
i ((pj_elements_content)):
file.write(pj_elements_content[i].text + )
get_py_content(yzpj_file)
next_elements = driver.find_elements_by_xpath()
next_elements != []:
next_element = next_elements[]
time.sleep()
next_element.click()
get_py_content(yzpj_file)
next_elements = driver.find_elements_by_xpath()
yzpj_file.close()

