Как я могу сбросить и перезапустить этот код каждые 2 минуты в Python? Цикл while не работает для меня - PullRequest
0 голосов
/ 03 октября 2019

Мне нужна помощь, чтобы иметь возможность запускать этот код и получать цену обновления каждые 2 минуты.

Я попробовал цикл while, но он перестает генерировать значения после первой очистки. Обновляются только дата и время в результате, а не цена.

from bs4 import BeautifulSoup
import requests


result = requests.get("https://liveindex.org/s&p-futures/")
src = result.content
soup = BeautifulSoup(src, 'lxml')
table_body=soup.find('tbody')
rows = table_body.find_all('tr')

for row in rows:
    cols=row.find_all('td')
    cols=[x.text.strip() for x in cols]
    print(cols)

Мне нужно создать тикер в реальном времени, чтобы получить последние цены акций. Код может соскрести цену, но только один раз. Ручной перезапуск работает, но это не то, что я хочу.

Ответы [ 2 ]

1 голос
/ 03 октября 2019

Вы можете попробовать каждую минуту для вечности:

from bs4 import BeautifulSoup
import requests
import time # you need this module

# this will run forever
while True:
    result = requests.get("https://liveindex.org/s&p-futures/")
    src = result.content
    soup = BeautifulSoup(src, 'lxml')
    table_body=soup.find('tbody')
    rows = table_body.find_all('tr')

    for row in rows:
        cols=row.find_all('td')
        cols=[x.text.strip() for x in cols]
        print(cols)

    time.sleep(120) # this will wait for 120 seconds
0 голосов
/ 03 октября 2019
from bs4 import BeautifulSoup
import requests
**import time**

**While True:**
result = requests.get("https://liveindex.org/s&p-futures/")
src = result.content
soup = BeautifulSoup(src, 'lxml')
table_body=soup.find('tbody')
rows = table_body.find_all('tr')

for row in rows:
cols=row.find_all('td')
cols=[x.text.strip() for x in cols]
print(cols)
**time.sleep(120)**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...