如何将EODData下载链接导入python variab

2024-04-25 02:06:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将一个包含所有NASDAQ符号的文本文件从EODData(http://eoddata.com/Data/symbollist.aspx?e=NASDAQ)导入python变量以另存为csv文件。当我把链接放到Chrome浏览器中时,文件会被下载,但是当我尝试使用urllib2或pandas导入时,它看起来就像在阅读一个网站。你知道吗

它似乎类似于:EodData wsdl java connection,但我正在尝试用python来实现它。你知道吗

import urllib2

data = urllib2.urlopen("http://eoddata.com/Data/symbollist.aspx?e=NASDAQ")
for line in data:
    print line

Tags: 文件csvcomhttpdataline符号urllib2
1条回答
网友
1楼 · 发布于 2024-04-25 02:06:20

似乎您必须登录才能下载数据。你可以在chrome上下载你的数据,因为你是自动登录的。但是通过python,您必须注册/登录。尝试签出网站的the login API,并在代码中包含您的凭据。你知道吗

您必须查看__init__方法才能用您的凭证填写它:

def __init__(self, username, password,
             base_url='http://ws.eoddata.com/data.asmx/',
             max_login_retries=3, logger=None):
    """
    Args:
        username (str): Account username. 
        password (str): Account password.
        base_url (str): Base url of SOAP service 
            (defaults to `http://ws.eoddata.com/data.asmx/`).
        max_login_retries (int): Maximum login retries, increase if there 
            are several clients working in parallel.
        logger (logging.Logger): Client logger.
    """
    self._token = ''
    self._username = username
    self._password = password
    self._max_login_retries = max_login_retries
    self._base_url = base_url
    self.logger = logger or logging.getLogger('eoddata_client')

根据文档,您必须用凭据替换用户名和密码。此外,你必须添加令牌,可以从你的帐户上提取的网站。你知道吗

相关问题 更多 >