Comment gratter les pages Web qui sont dans différents formats / formats?

StackOverflow https://stackoverflow.com/questions/1634969

  •  06-07-2019
  •  | 
  •  

Question

Je dois extraire les rapports de formulaire 10-K (rapports annuels des entreprises américaines) du site Web de la SEC . pour un projet.

Le problème, c’est que les entreprises n’utilisent pas exactement le même format pour archiver ces données. Ainsi, par exemple, les données immobilières de 2 sociétés différentes pourraient être affichées comme suit:

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.

De même, la structure des données pourrait être entièrement différente pour les autres sociétés.

Je voudrais savoir s’il existe de meilleurs moyens de supprimer ce type de données hétérogènes que l’écriture de recherches complexes sur les expressions rationnelles.

J'ai la liberté d'utiliser Java, Perl, Python ou Groovy pour ce travail.

Était-ce utile?

La solution

Je serais enclin à conserver une bibliothèque de méta-fichiers décrivant la présentation de chaque page à partir de laquelle vous souhaitez extraire des données et à l'utiliser lors de la tentative d'obtention des données.

De cette façon, vous n'avez pas besoin de commandes reg-ex complexes et si un site change de conception, vous ne modifiez qu'un seul de vos fichiers.

La façon dont vous décidez de créer le méta-fichier dépend de vous, mais des noms tels que les noms de classe ou les balises pertinents peuvent constituer un bon début.

décrivez ensuite comment extraire les données de cette balise.

Je ne sais pas s'il existe un outil qui fait tout cela.

L’autre façon, plus agréable, consisterait peut-être à contacter les propriétaires de ces sites et à déterminer s’ils fournissent un flux sous la forme d’un service Web ou de quelque chose que vous pouvez utiliser pour obtenir les données. Je pense qu'il faut économiser beaucoup de chagrin d'amour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top