【发布时间】:2015-06-16 05:21:46
【问题描述】:
我正在尝试访问this page 上提供的“收益率曲线数据”。它有单选按钮,单击“提交”后会生成一个 CSV 文件,我希望从中获取数据。我希望从“检索所有数据”选项中获取数据。我想将此数据转换为dataframe。但是,我不知道如何将result(即<addinfourl at 149347464L whose fp = <socket._fileobject object at 0x0000000008E55660>>)转换为dataframe。
import urllib, urllib2
import csv
import urllib2
import StringIO
import pandas as pd
my_url = 'http://www.bankofcanada.ca/rates/interest-rates/bond-yield-curves/'
data = urllib.urlencode({'lastchange': 'all'})
request = urllib2.Request(my_url, data)
result = urllib2.urlopen(request)
print result #Output: <addinfourl at 149347464L whose fp = <socket._fileobject object at 0x0000000008E55660>>
编辑:参考 Kevin Zhao 的问题,部分输出如下。另外,我使用的想法与this post 的答案中给出的想法相同。但是,在提交表单时捕获数据似乎是个问题:
!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
【问题讨论】:
-
你能试着把这段代码放在底部吗?
print result.read()并向我们展示该行的结果?这可能有助于调试... -
@KevinZhao 谢谢。我已经发布了您建议的部分输出
-
所以您在点击按钮后尝试从网站或从该网站下载的 csv 文件获取数据?
-
您打开的是网页,而不是数据文件。我建议检查 chrome 开发工具(或类似工具)中的按钮,看看您是否可以找出按钮请求的 url。
-
@KevinZhao 单击按钮后,我正在尝试从从网站下载的 CSV 文件中获取数据。