这是一个专注于收集主流汽车垂直网站用户口碑数据的Python爬虫项目,旨在为汽车市场舆情分析、消费者行为研究等领域提供数据支持。
项目目前集成了对 汽车之家、懂车帝、易车网 三大平台的用户口碑(评论)数据的定向爬取。
- 平台覆盖广泛: 支持国内三大主流汽车资讯与交易平台。
- 核心数据提取: 精准抓取用户口碑的关键字段,包括用户昵称、ID、发布日期、评论正文、点赞数和评论数等。
- 反爬策略应对: 针对不同网站的特点采用相应的策略:
- 汽车之家 & 懂车帝: 通过分析其
JSON API接口,以Requests库进行高效、稳定的数据请求。 - 易车网: 采用
Selenium+Requests的混合模式,并成功攻克了其特有的字体反爬技术,通过动态解析woff字体文件,完美还原被编码的文本内容。
- 汽车之家 & 懂车帝: 通过分析其
- 配置简单,易于上手: 用户只需在每个脚本的末尾修改目标车型的ID和名称等少量参数,即可启动爬取任务。
- 结构化数据输出: 所有爬取结果均会自动保存为
.csv格式文件,方便后续进行数据清洗、处理与分析。
- Python 3.x
- 核心爬取库:
Requests: 用于发送HTTP请求,获取网页和API数据。BeautifulSoup4&lxml: 用于解析HTML文档,提取页面元素。Selenium: 用于模拟浏览器行为,应对动态加载和复杂交互的页面(主要用于易车网)。
- 数据处理与存储:
Pandas: 用于将抓取的数据整理成数据框(DataFrame)并导出为CSV文件。
- 反反爬与辅助工具:
webdriver-manager: 自动管理浏览器驱动,免去手动配置的麻烦。fontTools: 强大的字体处理库,用于解析易车网的加密字体文件。
在开始之前,请确保您的电脑已经安装了 Python 3 环境和 Chrome 浏览器。
1. 克隆本项目
git clone https://github.com/your-username/car-review-scrapers.git
cd car-review-scrapers2. 安装依赖库
本项目的所有依赖已整理在requirements.txt文件中。您可以通过pip命令一键安装:
# 建议在虚拟环境中执行
pip install -r requirements.txt如果您希望手动安装,以下是所需的核心库列表:
pip install requests
pip install pandas
pip install beautifulsoup4
pip install lxml
pip install selenium
pip install webdriver-manager
pip install fonttools每个平台的爬虫脚本都是独立的,您可以根据需要选择运行。在运行前,请根据您的目标车型修改对应脚本文件底部的配置参数。
此脚本通过请求 JSON API 获取口碑列表,再逐一访问详情页补全信息。
-
如何配置: 打开
汽车之家.py文件,滚动到最下方的if __name__ == "__main__":部分,修改以下两个变量:if __name__ == "__main__": # 1. 设置目标车型的 Series ID # 例如:比亚迪海豹 (6394), 凯美瑞 (110), 雅阁 (78) TARGET_SERIES_ID = 110 # 2. 设置目标车型的名称 (用于文件名) TARGET_CAR_NAME = "丰田凯美瑞" # 执行爬取任务 scrape_autohome_koubei(TARGET_SERIES_ID, TARGET_CAR_NAME)
-
如何运行:
python 汽车之家.py
-
输出文件: 脚本运行结束后,将在同级目录下生成名为
autohome_丰田凯美瑞_reviews.csv的文件。
此脚本直接请求 JSON API 获取所有口碑数据,效率较高。
-
如何配置: 打开
懂车帝.py文件,滚动到最下方的if __name__ == "__main__":部分,修改以下变量:if __name__ == "__main__": # 您只需修改下面这两行即可切换目标车型 CAR_NAME = "比亚迪汉dm" # 车型名称,用于保存文件名 SERIES_ID = "4228" # 您也可以按需修改希望爬取的总页数 TOTAL_PAGES_TO_SCRAPE = 999 scrape_dcd_reviews_robust(CAR_NAME, SERIES_ID, max_pages=TOTAL_PAGES_TO_SCRAPE)
-
如何运行:
python 懂车帝.py
-
输出文件: 脚本运行结束后,将在同级目录下生成名为
dcd_比亚迪汉dm_reviews.csv的文件。
此脚本采用Selenium模拟浏览器访问列表页获取所有口碑详情链接,然后使用Requests高速抓取详情页内容,并处理字体反爬。
-
如何配置: 打开
易车.py文件,滚动到最下方的if __name__ == '__main__':部分,修改以下变量:if __name__ == '__main__': # 车型ID,通常可以在URL中找到 car_id = "5845" # 车型名称,用于保存文件名 car_name = "特斯拉model3" # 目标车型的口碑列表首页URL koubei_url = "https://dianping.yiche.com/model3/koubei/" main_scraper(car_id, car_name, koubei_url)
-
如何运行:
python 易车.py
注意: 运行此脚本时,会自动打开一个Chrome浏览器窗口进行链接采集,采集完成后会自动关闭。
-
输出文件: 脚本运行结束后,将在同级目录下生成名为
yiche_特斯拉model3_reviews.csv的文件。
所有脚本最终生成的CSV文件均包含以下核心字段,以保证数据格式的统一性:
- 评论ID
- 用户昵称
- 用户ID
- 发布日期
- 评论正文
- (部分脚本还包含 点赞数 和 评论数 等)
- 遵守规则: 请遵守各网站的
robots.txt协议,并尊重网站版权。本项目仅供学习和技术研究使用。 - 合理频率: 本项目已在代码中加入了适当的延时(
time.sleep),请勿移除或修改为过低的值,以免对目标服务器造成过大压力。 - 时效性: 网站的页面结构或API接口随时可能发生变化,从而导致爬虫脚本失效。如果脚本报错,很可能是目标网站已更新,需要对代码进行相应调整。
- 网络环境: 爬取过程中请保持稳定的网络连接。对于网络限制较多的环境(如部分公司内网),可能会出现连接超时等问题。