如何将URL请求转换为pandas DataFrame?

时间:2015-06-15 18:04:15

标签: python pandas

我正在尝试访问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">

1 个答案:

答案 0 :(得分:0)

谢谢!所以,如果我理解正确,你想打开一个页面,点击页面上的一个按钮,然后下载一个文件?如果是这种情况,使用selenium可能比urllib2更好,请参阅此链接以获取有关如何使用它的信息:

http://www.reddit.com/r/Python/comments/1nk0r4/python_library_for_automating_interaction_with_a/