项目背景与意义
股民情绪分析的重要性: 投资者情绪会对股票价格和市场产生显著影响,通过爬取与分析在线评论,可捕捉情绪变化,理解市场动态,为投资决策提供有价值的参考。
项目目的
本项目通过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定位评论列表,提取每条评论中的信息