抓取金融网络数据

数据挖掘 数据挖掘 nlp 网页抓取
2021-10-08 05:55:38

我最近开始担任数据科学家,并且正在使用 Python 开始一个网络抓取和 NLP 项目。这个想法是创建一个搜索公司客户公共信息的程序。这些信息可以来自各种来源:年度报告、损益表、文章……我将不得不处理两种格式:HTML 和 PDF。现在,我将专注于检索公司的收入。经过一个月的研究和测试,我意识到了一些事情: - NLP 技术太慢了,无法用于年报 项目的第一步将如下:

搜索年度报告并抓取 HTML 代码:到目前为止,我设法获得了所有的 google 结果,并且我正在使用 Beautifulsoup 来获取 HTML 代码。但是我不能完全得到公司的收入,因为每个网站都有自己的 HTML 结构。我首先决定专注于提取表格(目标是找到公司的损益表),但我意识到 HTML 表格经常用于布局(即使这是一个不好的做法)。我不能依赖 css 选择器,因为我需要让它尽可能通用。我怎样才能实现它?

1个回答

我也会求助于使用正则表达式解析 HTML 或实体。我的经验是,这总是很快变得不雅。

  • 您对相关来源有一个清晰的认识吗?如果相关数据的大部分来自有限数量的页面,您可以维护一个具有匹配包装器的源列表。
  • 然后在这些相关文档中,我会搜索最简单、最有价值的特征来提取。

例子

例如,如果你对 Alphabet 的季刊感兴趣,我会抓取这个链接你很聪明,你可以找出下一个。

快速浏览一下,我发现收入的第一次打击让我返回了本季度的收入。

所以是这样的:

(?:revenue[s]?)(?:\s[\w]+\s)(\$[\d]+\.?\d\s[\w]+)

测试网站上的报告似乎适用于第一季度、第二季度和第三季度,而第四季度则产生年收入。很容易修复。

我的经验是你的模式会保持一段时间,然后改变。没什么大不了的,只需添加几个测试!Fi:结果不为空,是否在可信范围内?