购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 网络爬虫概述

网络爬虫是根据一定的规则,自动地抓取网页信息的程序或者脚本,通常是利用Python与网站进行交互,并对网站返回的结果进行分析和处理的过程。网络爬虫可以帮助我们实时采集大量的财经数据,包括市场数据、公司财务数据、经济指标、新闻和媒体报道、股吧评论等,这些数据可以辅助公司监测财经新闻和舆情动态、识别风险信号、预测市场波动,并采取相应的风险管理措施。

这里我们举一个例子,说明采集网络新闻数据对于财经数据分析的价值。非结构化舆情文本数据(如宏观研报)可以反映投资者行为、情绪和预期,为汇率趋势预测提供数据基础(方思然等,2023)。比较专业的舆情信息称为专业舆情,使用来自财经分析师的研报度量,例如东方财富网的宏观研报板块。方思然等人通过Python语言,自动化测试库Selenium及爬虫框架Scrapy,共爬取了15042篇宏观研报的摘要。社会舆情数据来自Wind数据库,共收集了1945篇新闻的标题。研究结果表明,舆情信息可以预测汇率趋势,新闻标题对汇率的预测效果最好,研报次之。这个案例不仅给我们展示了研究的不同数据来源,而且提供了一些数据抓取工具,例如自动化测试库Selenium及爬虫框架Scrapy。

网络爬虫的应用领域有很多,如搜索引擎、数据采集、广告过滤、大数据分析等。网络爬虫通常可以分为通用网络爬虫、主题网络爬虫和增量网络爬虫,实际场景中使用的爬虫通常为几种爬虫的组合。

通用网络爬虫,又称全网爬虫,主要用于搜索引擎的网页数据采集,是指从根网站开始采集数据,逐渐扩展到整个互联网的网络爬虫。因为互联网网站众多、网页数量巨大,各个网站之间就像蜘蛛网,而爬虫就像在蜘蛛网上爬行的蜘蛛,这也是爬虫(spider)名字的由来。

主题网络爬虫,是指根据特定算法按照预先设定的主题抓取与主题相关页面的网络爬虫。与通用网络爬虫不同,它不是为了抓取整个互联网的网页,而是专门用于对某个主题的网页进行数据采集。主题爬虫在搜索过程中过滤了很多无关信息,使得爬虫系统更为高效。例如,我们可以根据股票代码或相关关键词,抓取与股票市场相关的新闻、论坛帖子、公司公告等网页。

增量网络爬虫,是指对目标网站进行增量式下载更新的网络爬虫。由于网页的更新并没有一定的规律,所以增量爬虫只能尽可能保证抓取的网页是最新的。目前通常的做法是对一个页面设置新鲜度指标,并设置合适的时间间隔使得网页整体的“新鲜度”最高。

网络爬虫的一般工作流程如下:

· 发起请求:向目标网站发送请求以获取网页内容。

· 获取响应:目标网站返回响应,包含网页内容和相关信息。

· 解析网页:对网页内容进行解析,提取所需数据(第4章、第5章)。

· 存储数据:对提取的数据进行处理和存储(第11章)。

· 跟踪链接:跟踪网页中的链接,递归地爬取其他相关页面或数据。

· 处理异常和错误:处理网络连接问题、页面不存在等异常情况。

可以根据需求,循环执行上述步骤,爬取更多页面或数据。需要注意的是,爬虫技术只能在法律允许的范围内使用。此外,应当设置适当的请求间隔和并发数量,避免对目标网站造成过大负荷。

在爬虫工作流程中,发起请求和获取响应是基本的步骤。服务器收到请求后,会根据请求的URL和其他相关信息,处理请求并返回相应的数据或资源。服务器根据请求的类型执行不同的操作,例如返回网页内容、提供文件下载、执行数据库查询等。其中,最常见的返回内容是网页内容,因此接下来我们来认识网页结构。 cK6FwKZSEtLr5+tvmxGUpLAKUK+Dlrgaq0F8Daa+HYGtkP6zHyGYUSxb95MHmATN

点击中间区域
呼出菜单
上一章
目录
下一章
×