引用来自google.com/finance和python的报道

问题描述 投票:0回答:1

我正试图从谷歌财经的new site中删除报价,因为旧报价很快就会被弃用。我已经编写了一些代码来提取股票报价,但它很慢并且大约需要2分钟才能返回单个报价,并且每次运行程序时只返回几个引号。

import urllib
import re
import time

    def get_quote(symbol):
        base_url = 'http://google.com/finance?q='
        content = urllib.urlopen(base_url + symbol).read()
        m = re.search('id="ref_(.*?)">(.*?)<', content)
        if m:
            quote = m.group(2)
            print quote,m
        else:
            quote = 'no quote available for: ' + symbol
        return quote
    while True:
        get_quote('AMZN')

输出:

1,500.00 <_sre.SRE_Match对象位于0x109f66360>

1,500.00 <_sre.SRE_Match对象位于0x109f66360>

1,500.00 <_sre.SRE_Match对象位于0x109f66360>

如果你每次循环打印变量m,你会发现大多数时候它会返回值'none'

我该如何解决?

python html web-scraping
1个回答
0
投票

这个选项怎么样?

from pandas_datareader import data
import matplotlib.pyplot as plt
import seaborn; seaborn.set()

goog = data.DataReader('GOOG', start='2004', end='2016',
                       data_source='google')
goog.head()

enter image description here

goog = goog['Close']
goog.plot();

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.