项目背景与意义
股民情绪分析的重要性: 投资者情绪会对股票价格和市场产生显著影响,通过爬取与分析在线评论,可捕捉情绪变化,理解市场动态,为投资决策提供有价值的参考。
项目目的
本项目通过Python爬虫抓取东方财富网特定股票的散户评论,并运用自然语言处理(NLP)技术中的SnowNLP库进行情感分析,探索用户情绪的时间变化趋势。
数据源与获取方法
数据源简介
- 来源:东方财富网 (http://guba.eastmoney.com/)
- 内容:散户评论
- 范围:特定股票评论
数据获取技术栈
- Python版本:3.x
- 核心库:
selenium:模拟浏览器行为,用于动态页面爬取。PhantomJS:无头浏览器,配合selenium使用。re:正则表达式,文本清洗。json:JSON数据处理。
爬虫实现细节
爬虫类定义
- 类名:
Crawler - 构造函数参数:
stocknum:股票代码page:页面编号- 初始化步骤:
- 设置URL格式
- 配置PhantomJS的
DesiredCapabilities,如资源超时时间等 - 初始化
PhantomJS驱动
核心方法解析
crawAllHtml(url):-
模拟浏览器访问指定URL,等待页面加载完成
-
getNewUrl(url): -
将新URL添加到集合中
-
filterHtmlTag(htmlStr): -
使用正则表达式去除HTML标签、脚本、样式等,保留纯文本内容
-
getData(): - 调用
crawAllHtml方法加载页面 - 通过XPath定位评论列表,提取每条评论中的信息