Создать список путей к файлам EDGAR FTP

Я новичок в программировании (хотя я готов учиться), поэтому заранее прошу прощения за мой основной вопрос.

[SEC делает доступными все их заявки по FTP][1], и в конечном итоге я хотел бы загрузить часть этих файлов оптом. Однако перед созданием такого скрипта мне нужно сгенерировать список для расположения этих файлов, которые следуют этому формату:

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

  • 51143 = идентификатор компании, и я уже получил доступ к списку нужных мне идентификаторов через FTP
  • 000005114313000007 / 0000051143-13-000007 = идентификатор отчета, он же "номер доступа"

Я борюсь с тем, как это понять, поскольку документация довольно легкая. Если у меня уже есть 000005114313000007/0000051143-13-000007 (что SEC называет "номером доступа"), тогда это довольно просто. Но я ищу ~45 тыс. Записей и, очевидно, нужно было бы генерировать их автоматически для данного CIK ID (который у меня уже есть).

Есть ли автоматизированный способ добиться этого?

1 ответ

Добро пожаловать в ТАК.

В настоящее время я очищаю тот же сайт, поэтому я объясню, что я сделал до сих пор. Я предполагаю, что у вас будут номера CIK тех компаний, которые вы ищете. Если вы будете искать CIK компании, вы получите список всех файлов, которые доступны для данной компании. Давайте использовать Apple в качестве примера (так как у них есть тонна файлов):

Ссылка на документы Apple

Отсюда вы можете установить поисковый фильтр. Документ, на который вы ссылались, был 10-кой, так что давайте использовать его. Если вы отфильтруете 10-Q, у вас будет список всех документов 10-Q. Вы заметите, что URL немного меняется, чтобы приспособиться к фильтру.

Вы можете использовать Python и его библиотеки веб-очистки, чтобы взять этот URL и очистить все URL-адреса документов в таблице на этой странице. Для каждой из этих ссылок вы можете удалить любые ссылки или информацию, которую вы хотите со страницы. Я лично использую BeautifulSoup4, но lxml - это еще один вариант для очистки веб-страниц, если вы выберете Python в качестве языка программирования. Я бы порекомендовал использовать Python, так как довольно легко выучить основы и некоторые промежуточные конструкции программирования.

В прошлом проект ваш. Удачи, я разместил несколько ссылок ниже, чтобы вы начали. Мне разрешено публиковать только две ссылки, так как я новичок на сайте, поэтому я дам вам красивую ссылку для супа:

Красивая Суп Домашняя страница

Если вы решили использовать Python и плохо знакомы с языком, ознакомьтесь с курсом Python для codecademy и не забудьте ознакомиться с lxml, поскольку некоторые люди предпочитают его по сравнению с BeautifulSoup (некоторые люди также используют оба в сочетании, так что все это вопрос личных предпочтений).

Другие вопросы по тегам