Обновление данных о ценах на акции

Я очень новичок, и я полностью застрял с недавней задачей. Я хочу автоматически обновлять цену акций по мере ее изменения. Я удаляю веб-сайт 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, но я получаю отпечатки в строках, несмотря на то, что хочу изменить только одну строку, поскольку фактическая цена меняется. большое спасибо за ваши заметки.


person Jozef Fujka    schedule 03.12.2016    source источник
comment
Вы можете создать графический интерфейс для достижения желаемого — docs.python.org/3/library /tk.html.   -  person wwii    schedule 03.12.2016


Ответы (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)
person vpekar    schedule 03.12.2016
comment
Спасибо, сэр. не могли бы вы дать мне подсказку, как перезаписать предыдущую печать по мере изменения цены... Ваш код просто печатает цены в строке, но хочет только одну печать, которая меняется при изменении цены - person Jozef Fujka; 04.12.2016