我需要从SEC website获取10-K表格报告(即美国公司的年度报告)。
问题是,公司不会使用完全相同的格式来提交这些数据。因此,对于例如,2个不同公司的房地产数据可以显示如下
1st company
Property name State City Ownership Year Occupancy Total Area
------------- ----- ------ --------- ---- --------- ----------
ABC Mall TX Dallas Fee 2007 97% 1,347,377
XYZ Plaza CA Ontario Fee 2008 85% 2,252,117
2nd company
Property % Ownership %Occupany Rent Square Feet
--------------- ----------- --------- ----- -----------
New York City
ABC Plaza 100.0% 89.0% 38.07 2,249,000
123 Stores 100.0% 50.0% 18.00 1,547,000
Washington DC Office
12th street .......
2001, J Drive .......
etc.
同样,其他公司的数据布局可能完全不同。
我想知道除了编写复杂的正则表达式搜索之外,是否有更好的方法来删除此类异类数据。
我可以自由地使用Java,Perl,Python或Groovy来完成这项工作。
答案 0 :(得分:3)
我倾向于保留一个元文件库,用于描述您要从中抓取数据的每个页面的布局,并在尝试获取数据时使用它。
通过这种方式,您不需要复杂的reg-ex命令,如果站点更改其设计,您只需更改单个文件即可。
您决定如何创建元文件取决于您,但相关类名或标签之类的内容可能是一个良好的开端。
然后描述如何从该标记中提取数据。
不确定是否有工具可以完成所有这些工作。
另一种更好的方法可能是联系这些网站的所有者,看看他们是否以WebService的形式提供了一个Feed,或者您可以使用它来获取数据。拯救了我应该想到的很多心痛。