4

私はウェブサイトhttps://www.treasurydirect.gov/GA-FI/FedInvest/selectSecurityPriceDate.htmを使用しています。

この Web サイトでは、債券の CUSIP 番号に基づいて過去の債券価格にアクセスできます。特定の債券の過去の価格を経時的に表示するチャートを作成しようとしていますが、Web サイトはこの機能をサポートしていません。代わりに、ユーザーは特定の日付を検索できます。

Python で検索したい日付を入力し、これらの日付を Web サイトに「投稿」し、結果の Web ページを読んで特定の CUSIP を検索し、日付と価格の辞書を作成する方法があるかどうか興味があります。このデータをグラフィカルに視覚化して解釈します。

日付を入力すると、アドレスで操作できるウェブサイトの特定のディレクトリに移動した場合、これは簡単な作業ですが、残念ながら、サイトのセットアップ方法は、それぞれに対応するチャートを表示する組み込みプログラムのようです.日。誰かがこれで私を助けることができれば、私はそれを大いに感謝します!

urllib2 と Request 関数を使用して、priceData.day、month、および year のパラメーターを含む dict を送信しようとしましたが、正しい Web ページが開きません。

import urllib2
def URLRequest(url, params, method="GET"):
    if method == "POST":
        return urllib2.Request(url, data=urllib.urlencode(params))
    else:
        return urllib2.Request(url + "?" + urllib.urlencode(params))
data = URLRequest("https://www.treasurydirect.gov/GA-FI/FedInvest/selectSecurityPriceDate.htm",{"priceData.month":"7","priceData.day":"8","priceData.year":"2013"}, method="POST")
response = urllib2.urlopen(data)
response.read()
[Out]: The source file of the website without displaying the information I need
4

1 に答える 1

3

submit=Show+PricesPOST データに必要なページ。

curlLinuxでテストしました。

これがなければsubmit=Show+Prices、通常のページが表示されます:

curl -k https://www.treasurydirect.gov/GA-FI/FedInvest/selectSecurityPriceDate.htm -d "priceDate.month=7&priceDate.day=8&priceDate.year=2013"

これによりsubmit=Show+Prices、データのあるページが表示されます:

curl -k https://www.treasurydirect.gov/GA-FI/FedInvest/selectSecurityPriceDate.htm -d "priceDate.month=7&priceDate.day=8&priceDate.year=2013&submit=Show+Prices"
于 2013-07-08T23:46:40.540 に答える