2016-05-22 1 views
0

Je suis tout nouveau à la programmation (même si je suis prêt à apprendre), donc des excuses à l'avance pour ma question très basique. Le [SEC met à disposition tous ses fichiers via FTP] [1], et finalement, je voudrais télécharger un sous-ensemble de ces fichiers en masse. Cependant, avant de créer un tel script, je dois générer une liste pour l'emplacement de ces fichiers, qui suivent ce format:Générer EDGAR FTP Liste des chemins de fichier

/edgar/data/51143/000005114313000007/0000051143-13-000007-index.htm

  • 51143 = l'ID de l'entreprise, et je l'ai déjà accédé à la liste des ID de l'entreprise dont j'ai besoin via FTP
  • 000005114313000007/0000051143-13-000007 = l'ID du rapport, alias "le numéro d'accession"

Je suis aux prises avec la façon de comprendre cela car la documentation est assez légère. Si j'ai déjà le 000005114313000007/0000051143-13-000007 (ce que la SEC appelle le "numéro d'accession") alors c'est assez simple. Mais je suis à la recherche de ~ 45k entrées et aurait évidemment besoin de les générer automatiquement pour un CIK ID donné (que j'ai déjà).

Existe-t-il un moyen automatisé d'y parvenir?

Répondre

0

Bienvenue chez SO.

Je suis actuellement en train de gratter le même site, donc je vais vous expliquer ce que j'ai fait jusqu'à présent. Ce que je suppose, c'est que vous aurez le numéro CIK des entreprises que vous cherchez à gratter. Si vous recherchez le CIK de l'entreprise, vous obtiendrez une liste de tous les fichiers disponibles pour l'entreprise en question. Utilisons Apple comme un exemple (car ils ont une tonne de fichiers):

Link to Apple's Filings

De là, vous pouvez définir un filtre de recherche. Le document que vous avez lié était un 10-Q, alors utilisons-le. Si vous filtrez 10-Q, vous aurez une liste de tous les documents 10-Q. Vous remarquerez que l'URL change légèrement pour s'adapter au filtre.

Vous pouvez utiliser Python et ses librairies Web pour récupérer cette URL et récupérer toutes les URL des documents de la table sur cette page. Pour chacun de ces liens, vous pouvez gratter les liens ou les informations que vous voulez sur la page. J'utilise personnellement BeautifulSoup4, mais lxml est un autre choix pour le scrap web, si vous choisissez Python comme langage de programmation. Je recommande d'utiliser Python, car il est assez facile d'apprendre les bases et quelques constructions de programmation intermédiaires.

Passé ce délai, le projet vous appartient. Bonne chance, j'ai posté quelques liens ci-dessous pour vous aider à démarrer. Je ne suis autorisé à poster deux liens depuis que je suis nouveau sur le site, donc je vais vous donner le beau lien de soupe:

Beautiful Soup Home Page

Si vous choisissez d'utiliser Python et débutez la langue , jetez un coup d'œil au cours de codecademy python, et n'oubliez pas de jeter un oeil à lxml, comme certains le préfèrent à BeautifulSoup (certaines personnes utilisent aussi les deux conjointement, donc c'est une question de préférence personnelle).