一、项目背景与价值
1 为什么爬取商品好评?
消费者洞察:分析用户真实反馈,了解产品优缺点
市场研究:监测竞品评价趋势,优化产品策略
二.实现代码
from selenium import webdriver
from selenium.webdriver.edge.options import Options
from selenium.webdriver.common.by import By
import time
edge_options=Options()
edge_options.binary_location=r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
driver=webdriver.Edge(options=edge_options)
driver.get('https://review.suning.com/cluster_cmmdty_review/cluster-38249278-000000012389328846-0000000000-1-good.htm?originalCmmdtyType=general&safp=d488778a.10004.loverRight.166%27')
yzhp=open('优质好评.txt','w',encoding='utf-8')
def get_centent(file):
a=driver.find_elements(by=By.CLASS_NAME,value='body-content')
for i in range(len(a)):
file.write(a[i].text+'\n')
get_centent(yzhp)
next_elements=driver.find_elements(by=By.CSS_SELECTOR,value='.next.rv-maidian ')
print(next_elements)
while next_elements !=[]:
next_element=next_elements[0]
time.sleep(3)
next_element.click()
get_centent(yzhp)
next_elements=driver.find_elements(by=By.CSS_SELECTOR,value='.next.rv-maidian ')
yzhp.close()
三.实现思路
代码前7行:核心目的:创建可控制的浏览器。实例通过binary_location指定Edge浏览器执行路径
使用Selenium的Edge驱动实现浏览器自动化。
第8行代码:目标设定,访问苏宁易购特定商品的优质好评页面
第9行代码:创建一个yzhp的文件以w方式打开设置编码为utf-8
第10-13行:定义一个函数,通过CLASS_NAME定位body-content元素精准捕获用户评价文本内容,通过for循环将文本内容写入yzhp的文件里。
第14行:调用get_centent函数
第15行:通过CSS选择器定位.next.rv-maidian 下一页按钮
第17-22行:通过while循环检测直到按钮不存在关闭文件,如果存在则点击下一页继续调用get_centent函数将下一页的好评写入yzhp文件中。
此代码实现了苏宁易购好评数据的基础采集,核心思路清晰高效。通过扩展数据字段、优化等待机制和增强异常处理,可构建企业级电商数据采集系统。