Я пытаюсь использовать EDGAR API для получения 10-Q для любой данной компании (в соответствии с предоставленным значением CIK). Этот код получает самые последние 10-Q для Tesla. К этому объекту прикреплено около 30 методов, таких как ключи, значения, элементы и text_content. Text_content, похоже, единственный, который не возвращает пустой список []
. Однако текст нелегко разобрать, потому что 10-Q значительно варьируется от одной компании к другой.
Несомненно, кто-то прокомментирует: Почему я установил no_of_documents=2
? Если для этого параметра установлено значение 1, будет возвращен неправильный документ (не 10-Q). При любом параметре больше 1 будут получены фактические 10-Q. Я понятия не имею, почему API так себя ведет.
from edgar import Company
def func(cik):
company = Company("",cik)
tree = company.get_all_filings(filing_type="10-Q")
documents = Company.get_documents(tree,no_of_documents=2)
return documents[0]
test = func('0001318605')
Я бы хотел (A) распечатать необработанный XML, чтобы взглянуть на его базовую структуру, а затем проанализировать с помощью xmltodict
или xml.etree.ElementTree
. Однако я получаю следующие ошибки.
Использование ET
import xml.etree.ElementTree as ET
ET.parse(test)
>>>
TypeError: expected str, bytes or os.PathLike object, not HtmlElement
Использование XMLtoDict
import xmltodict
xmltodict.parse(test)
TypeError: a bytes-like object is required, not 'HtmlElement'
И снова моя цель - найти для навигации по XML контент, однако, не зная, что это за теги, я немного застрял. Как я могу продолжить?