2013-07-08 3 views
2

웹 사이트 https://www.treasurydirect.gov/GA-FI/FedInvest/selectSecurityPriceDate.htm을 사용하고 있습니다.Python을 사용하여 역사적인 30 년 재무부 채권 가격을 모으십시오

본 웹 사이트에서는 채권의 CUSIP 번호를 기준으로 과거 채권 가격을 확인할 수 있습니다. 시간이 지남에 따라 특정 채권의 과거 가격을 표시하는 차트를 만들려고하지만 웹 사이트는이 기능을 지원하지 않습니다. 대신 사용자가 특정 날짜를 조회 할 수 있습니다.

파이썬에서 조회하려는 날짜를 입력 한 다음 웹 사이트에이 날짜를 게시하고 결과 웹 페이지를 읽으면 특정 CUSIP를 검색하고 날짜 및 시간을 지정할 수 있습니다. 이 데이터를 시각적으로 시각화하고 해석하기 위해 가격.

날짜를 입력하면 주소에서 조작 할 수있는 웹 사이트의 특정 디렉토리로 이동하게되지만, 불행히도 사이트가 설정되는 방식은 사이트를 표시하는 기본 제공 프로그램 인 것처럼 보이는 것은 쉬운 작업입니다. 매일 해당 차트. 누구든지 이걸 도와 주면 크게 감사하겠습니다!

urllib2 및 request 함수를 사용하여 priceData.day, month, and year에 대한 매개 변수로 dict을 보내려고했지만 올바른 웹 페이지가 열리지 않습니다.

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 
+2

에 오신 것을 환영합니다

submit=Show+Prices없이이 나에게 정상적인 페이지를 제공합니다! 우리가 당신을 위해 몇 가지 코드를 작성하기를 원하는 것처럼 보입니다. 대부분의 사용자는 곤경에 처한 코더 코드를 기꺼이 만들지 만 일반적으로 포스터가 이미 문제를 해결하려고 시도했을 때만 도움이됩니다. 이러한 노력을 입증하는 좋은 방법은 지금까지 작성한 코드, 예제 입력 (있는 경우), 예상 출력 및 실제로 얻은 출력 (콘솔 출력, 스택 추적, 컴파일러 오류 등)을 포함시키는 것입니다. 응용할 수 있는). 더 자세하게 제공할수록 더 많은 답변을받을 수 있습니다. –

+0

방금했는데, 투표하지 마시고 ... –

+0

내 게시물에 코드가 보이지 않습니다. 오류 메시지가 표시되지 않으며 출력 또는 입력이 표시되지 않습니다. –

답변

1

페이지에 POST 데이터의 submit=Show+Prices이 필요합니다.

리눅스에서 curl으로 테스트했습니다. submit=Show+Prices

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

이 데이터와 함께 나에게 페이지를 제공합니다 : 스택 오버플로

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

당신은 최고입니다. 고마워요, 일단 코드가 완성되면 게시 할게요. –

+0

다른 질문을 게시했습니다. - http://stackoverflow.com/questions/17550235/website-caching-info-using-urllib2-in-python 도와 드릴까요? 그것은 관련이있는 것 같습니다 –

+0

신경 쓰지 마세요, 그냥 오타되었습니다 ... –

관련 문제