雪球是一个什么样的网站?
雪球股票,聪明的投资者都在这里 - 雪球提供沪深港美股票实时行情、实战交流、实盘交易。
雪球的Feed流样式
如上图所示为用户为从雪球首页截取出来的信息流,从图中可以看出雪球的信息流包含如下几个模块:
- 头条
- 直播
- 沪深
- 房产
- 港股
- 基金
- 美股
- 私募
- 汽车
- 保险
雪球首页的信息流采用XML请求进行数据的异步加载,其请求地址为 feed流请求地址,该请求中包含着几个重要的参数,分别如下:
- since_id : 信息流数据所请求的新闻起始id
- max_id : 信息流数据所请求的新闻的最大id
- count : 本次请求的数据条数
- category : 请求分类 下图所示为通过开发者工具截取的信息流异步请求过程:
对于网站来说,通常这种接口数据需要较为复杂的权限认证才可以进行数据的抓取,而笔者在实验过程当中发现,只要在请求时在请求头部附带会话的Cookie即可,(当用户访问雪球首页的时候,雪球的服务器会自动将Cookie发回给浏览器)。 使用Scrapy抓取雪球的信息流时的步骤如下:
- 枚举雪球信息流所有的分类,如下:
_category = {
'-1': "头条",
'6': "直播",
'105': "沪深",
'111': "房产",
'102': "港股",
'104': "基金",
'101': "美股",
'113': "私募",
'114': "机车",
'110': "保险"
}
2. 定义雪球的首页url并设置其为启动地址
_host_url = 'https://xueqiu.com/'
start_urls = (
_host_url,
)