Вот еще одна проблема, над которой я надумала. Я хочу, чтобы код печатался только при изменении времени очистки. Все, что он делает сейчас, это просто печатает текущую цену и никогда не меняется. Что я делаю не так?
import urllib.request
import bs4 as bs
while True:
# Request Webpage
url =
urllib.request.urlopen('https://markets.businessinsider.com/index/realtime-chart/dow_jones').read()
# Raw Webpage
rawpage = bs.BeautifulSoup(url, 'lxml')
price = rawpage.find_all('span', class_='push-data')[0]
change = rawpage.find_all('span', class_='push-data')[1]
currenttime = rawpage.find_all('span', class_='push-data')[3]
new_time = ""
if new_time != currenttime:
print(price.text)
print(change.text)
print(currenttime.text)
Пробовал, но все еще не работает. :(
Я это тестирую. скажите мне стоимость new_time
Опущу мой последний комментарий. Я установил начальное значение new_time
, а затем изменил if new_time != currenttime:
на `if currenttime! = New_time:`, и, похоже, он работает.
import urllib.request
import bs4 as bs
import csv
#Request Webpage
url = urllib.request.urlopen('https://markets.businessinsider.com/index/realtime-chart/dow_jones').read()
# Raw Webpage
rawpage = bs.BeautifulSoup(url, 'lxml')
new_time = rawpage.find_all('span', class_='push-data')[3]
price = rawpage.find_all('span', class_='push-data')[0]
change = rawpage.find_all('span', class_='push-data')[1]
all_data = [price.text, change.text, new_time.text]
print(all_data)
try:
with open("dow_price.csv", "w+", newline = "") as dow_writer:
writer = csv.writer(dow_writer)
writer.writerow(all_data)
except:
pass
while True:
# Request Webpage
url = urllib.request.urlopen('https://markets.businessinsider.com/index/realtime-chart/dow_jones').read()
# Raw Webpage
rawpage = bs.BeautifulSoup(url, 'lxml')
price = rawpage.find_all('span', class_='push-data')[0]
change = rawpage.find_all('span', class_='push-data')[1]
currenttime = rawpage.find_all('span', class_='push-data')[3]
if currenttime != new_time:
all_data = [price.text, change.text, currenttime.text]
try:
with open("dow_price.csv", "a", newline='') as dow_writer:
writer = csv.writer(dow_writer)
writer.writerow(all_data)
except:
pass
print(all_data)
new_time = currenttime
url = ""
rawpage = ""
вам нужно определить какое-то значение для
new_time
, а вif
не должно ли это бытьnew_time != currenttime.text
?