【问题标题】:Stock price data refresh股价数据刷新
【发布时间】:2016-12-03 15:51:13
【问题描述】:

我很新,我完全被最近的任务困住了。我想在股价变化时自动刷新股价。我正在废弃 nasdaq.com 实际盘中价格的网站。 我有一个最近的代码:

import bs4 as bs
import urllib
tiker = input("zadaj ticker: ")
url = urllib.request.urlopen("http://www.nasdaq.com/symbol/"+tiker+"/real-time")
stranka = url.read()
soup = bs.BeautifulSoup(stranka, 'lxml')
print (tiker.upper())
for each in soup.find('div', attrs={'id': 'qwidget_lastsale'}):
    print(each.string)

我只能在 True 时进行无限循环,但是尽管我只想更改一行,因为实际价格正在变化,但我还是会打印成行。 非常感谢您的笔记。

【问题讨论】:

标签: python web-scraping beautifulsoup urllib2 stockquotes


【解决方案1】:

可以通过打印“\b”去掉之前打印的字符串,然后在同一行打印:

import bs4 as bs
import urllib
import time
import sys

tiker = input("zadaj ticker: ")
print (tiker.upper())
written_string = ''
while True:
    url = urllib.request.urlopen("http://www.nasdaq.com/symbol/"+tiker+"/real-time")
    stranka = url.read()
    soup = bs.BeautifulSoup(stranka, 'lxml')
    for each in soup.find('div', attrs={'id': 'qwidget_lastsale'}):
        for i in range(len(written_string)):
            sys.stderr.write("\b")
        sys.stderr.write(each.string)
        written_string = each.string
    time.sleep(1)

【讨论】:

  • 谢谢您,先生。你能给我一个提示,当价格发生变化时如何覆盖以前的打印...你的代码只是打印价格,但只想打印一个随着价格变化而变化的打印
猜你喜欢
  • 2020-10-02
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-19
相关资源
最近更新 更多