【发布时间】:2013-07-08 19:43:07
【问题描述】:
我正在使用网站https://www.treasurydirect.gov/GA-FI/FedInvest/selectSecurityPriceDate.htm。
这个网站让我可以根据债券的 CUSIP 编号访问历史债券价格。我正在尝试构建一个图表来显示特定债券随时间的历史价格,但是该网站不支持此功能。相反,它允许用户查找特定日期。
我很好奇 Python 中是否有一种方法可以输入我要查找的日期,然后将这些日期“发布”到网站并阅读生成的网页以搜索我的特定 CUSIP 并构建日期和价格的字典以便以图形方式可视化和解释这些数据。
如果输入日期会将您带到可以在地址中操作的网站的特定目录,这将是一项容易的任务,但不幸的是,该网站的设置方式似乎是一个内置程序,可以显示相应的每天的图表。如果有人能帮我解决这个问题,我将不胜感激!
我曾尝试使用 urllib2 和 Request 函数发送带有 priceData.day、month 和 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
【问题讨论】:
-
欢迎来到 Stack Overflow!看起来您希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的编码人员编写代码,但他们通常只有在发布者已经尝试自己解决问题时才会提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出和您实际获得的输出(控制台输出、堆栈跟踪、编译器错误 - 不管是什么适用的)。您提供的详细信息越多,您可能收到的答案就越多。
-
我刚投了,请不要投反对票...
-
我在您的帖子中没有看到任何代码。我没有看到错误消息,也没有看到您的输出或输入。
-
我用文字解释了,现在我已经包含了我的代码
-
真实浏览器也发送
submit=Show+Prices、cookies和user-agent。也许服务器检查 cookie 和/或用户代理并发送不同的结果。