私は、このような8-Kおよび10-Kのステートメントとして会社提出書類の「完全な提出テキストファイル」を検索し、Perlで書かれたスクリプトを持っています。スクリプトのダウンロードが突然
は、これらのファイルは、.txtファイルがあるにもかかわらず、彼らは実際にはHTMLファイルです。ここでは、これらの特定のファイルのいずれのヘッダの例です。
<SEC-DOCUMENT>0001104659-12-008133.txt : 20120209
<SEC-HEADER>0001104659-12-008133.hdr.sgml : 20120209
<ACCEPTANCE-DATETIME>20120209153739
この特定のファイルは次の場所にあります。https://www.sec.gov/Archives/edgar/data/1001838/000110465912008133/0001104659-12-008133.txt
あなたはあなたが内容を読むことができるファイルをクリックすると、見ることができるように。 「、
±šÜÏ|¨^Ÿ¨T¡š¯À½ä¾<™R¶| [T)S:しかし、このファイルをダウンロードするPerlスクリプトは、次のようなものを見て内容のファイルを生成しますF-àë§+™•μ~¨ÀáÊ'jv-IE・T¡Š¥E-「RZujKk)š|4¨」Þªkä<・nðü³²¥XjSmYÎõ™?÷UF™S [U} HV¢LšDÆ.zjyßýμ "Èoøø²²"šúOª+ &ò'äòDì?Sìyúà¹ÛùD?\üár¡ZÙÉ "òðU†þ"ä+ä ¯RbZåÎS{™òc,ü "ð<2 @N"Òäœr "... _§ ö€Áv6Šì.sOsÙ|¿MÁμì\™ - ••••••••••••••••••••••••••••••••• EU〜Ü〜î¹¥/EäH~...%«ALJ%ÒéüμÆ 『©PU)A8tÚ¡行く•Ü?L?ÿ†‡ß』«@ S-X-w¶bpq§Ég{#A§ >ÃÆ'ââ、¬Å¡ &Uødz$ `¬<μ¶Ò'æ|Öž$äÔ¡×:!ƒj$ U:7μFèDî'®€eŽ¿â「¿〜{«×FE©R¶H8í\WÉÃ||ÖàëÜñ^Uêðž¢ÖVœ -k7zý'j(OL &ª-g೺ö»> 2C†Ÿ¹Õ[VèVijÇXEkª&•W¨'ÞTZ«¯〜Z£uÕÝè-¥7c|ÞÐêÔƒÖªë- rcضμÚýQC½μb-½¥ö> 0'»U- ŸXzûï>öMÚJ½>μîbö-)VkQO¯ìμμ_6ɹmS1î'VŒüšüŸ!Â|ï^Ìμk¤¿©ý¥ÍÍP・J ^¼ê÷Ì<±!¿u- /'nÌöêÚùf} m¥ mY²>¤4'»V |?|Y5žîñN«HgCö1ç,WmãÑ6öýÆ¢»aöªÿÞ¨Ã=«Y°æ1P^»1O¢U7/&})〜ÕR¶」
私は!これが暗号化の最終段階で起こったのかどうか疑問に思う。彼らのウェブサイトを閲覧することから、ネットワークを介して送信されているファイルを暗号化することを認めているようには見えません。私は個人的には、私はブラウザ内でファイルを手動で細かくダウンロードできるので、これが当てはまるとは思わない。ここで
は、ファイルをダウンロードし、ハードドライブに保存する責任があるPerlコードのsegmenetです:
@arraydata = split(/\,/, $datagn[$j]);
if($arraydata[2] =~ m/8K/ || $arraydata[2] =~ /8\-K/){
# Starts crawler, not checking for errors
my $mech = WWW::Mechanize->new(autocheck => 0);
# Grabs address
@arraydatad = split(/\//, $arraydata[4]);
# Formats output file name
$filenamea = "Reports\\" . $dirname . "\\" . $cik . "\\" . $arraydatad[3];
chomp($filenamea);
# This is the file from the EDGAR archives
$filecrawl = "https://www.sec.gov/Archives/" . $arraydata[4];
# This crawls the file and saves it to the hard drive
$mech->get($filecrawl, ':content_file' => $filenamea);
完全なコードはここにある:http://pastebin.com/QXb1zcdv
誰もがアイデアを持っています私がSEC.govからPerlスクリプトをダウンロードしているときに、なぜナンセンスのファイルを取得しているのですか?
Probablyただ圧縮されます。':content_file'を削除し、' $ response-> decoded_content(charset => 'none') 'を使ってファイルを取得してみてください。より良い方法かもしれない。 – ikegami
デバッグを* *試みましたか?謎のデータの16進ダンプを見ました(印刷可能なビューよりはるかに便利です)? Wiresharkを使用して、クライアントとサーバーの間で交換されるヘッダーを検査しますか? –