首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >EDGAR .txt文件的HTML渲染

EDGAR .txt文件的HTML渲染
EN

Stack Overflow用户
提问于 2015-11-29 11:59:08
回答 1查看 1.4K关注 0票数 5

目前,我正在处理一个项目,其中一个PHP脚本从ftp://ftp.sec.gov获取索引文件,并将所有公司信息放入数据库中。然后,第二个PHP脚本从SEC获取原始文本文件,并将其保存到本地以供处理。

可以在以下位置找到原始文本文件的示例:

ftp://ftp.sec.gov/edgar/data/2488/0000002488-15-000028.txt

可以在这里找到最终结果的示例- http://www.sec.gov/Archives/edgar/data/1084869/000143774915020024/flws20150927_10q.htm

我们的目标是能够像许多公司一样以格式化的方式提交申请,但问题是我似乎无法弄清楚如何为每个申请提供可靠的解决方案。有些文件似乎包含XML,而其他文件似乎包含HTML

如何才能可靠地生成原始文本文件的格式化版本?

我现在有的代码-

代码语言:javascript
复制
$db_hostname = "localhost";
$db_username = "username";
$db_password = "password";
$db_database = "database";
$db_server = mysql_connect($db_hostname, $db_username, $db_password);

if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());

mysql_select_db($db_database)
or die("Unable to select database: " . mysql_error());

$query = "SELECT * FROM company WHERE company = '1 800 FLOWERS COM INC' AND date = '2015-08-06'";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
$file = "ftp://ftp.sec.gov/" . $row[4]; 
$text = file_get_contents($file);   
    if($text === false){
        echo "error downloading file $row[4]\n";
        continue;
    }

$tarray = explode('<SEQUENCE>', $text);             


    for($i = 1; $i < count($tarray); $i++){
        $a = strstr($tarray[$i], '<HTML>');             
        if($a == false)continue;                    //means that there is no html document in this sequence
        $html = strstr($a, '</HTML>', true);
        $html.="</HTML>";

        $running = $running . $html;
    }

        $temp = "cache.htm";
        file_put_contents($temp, $running);

$name = $row[0] . "-" . $row[3] . ".pdf";
$name = str_replace(' ', '_', $name);
//$content = file_get_contents($row[2] . "-" . $row[1] . ".htm");
exec("D://wkhtmltopdf/bin/wkhtmltopdf.exe $temp $name");

unlink($temp);

//echo($row[0] . " created");

?>

EN

回答 1

Stack Overflow用户

发布于 2018-12-27 05:18:25

您不需要使用原始文本文件。您可以使用sec-api (https://www.npmjs.com/package/sec-api)。该软件包使用websockets为sec.gov EDGAR提供了一个实时通道--它与客户端(React、React Native、Angular、Vue等)和服务器端(Node.js等)协同工作。JavaScript。

一旦有新的备案(10K、10Q、13D等)在EDGAR上发布时,该包将触发一个事件,并以JSON格式返回以下数据:

代码语言:javascript
复制
{
  "companyName":"MORGAN STANLEY (0000895421) (Filer)",
  "type":"424B2",
  "description":"FORM 424B2",
  "linkToFilingDetails":"https://www.sec.gov/...014988-index.htm",
  "linkToHtmlAnnouncement":"https://www.sec.gov/...268.htm",
  "announcedAt":"2018-12-26T16:02:32-05:00"
}

linkToFilingDetails指向列出文件所有附件的超文本标记语言文件。linkToHtmlAnnouncement指向文件本身的HTML文件。

PHP结合websockets-enabling插件(例如Ratchet)也可以使用。

示例:

我开发了这个工具。如果你有任何反馈,请让我知道,我很乐意添加功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33979261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档