반응형
위 사이트의 해외 주요지수 5가지를 실시간으로 초기화시키는 웹 스크래퍼를 만들어 보려고 합니다
requests 와 bs4를 연습하기위해서 제작하였습니다
import requests
from bs4 import BeautifulSoup
import time
import os
while True:
url = "https://finance.yahoo.com/"
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"}
r = requests.get(url, headers=headers)
r.raise_for_status()
html = r.text
soup = BeautifulSoup(html, 'lxml')
stocks = soup.find_all("li", attrs={"class": "D(ib) Bxz(bb) Bdc($seperatorColor) Mend(16px) BdEnd"})
time.sleep(1)
clear = lambda : os.system('cls')
clear()
print("="*30)
for stock in stocks:
name = stock.a.get_text()
index = stock.find("fin-streamer", attrs="Fz(s) Mt(4px) Mb(0px) Fw(b) D(ib)").get_text()
change = stock.find("fin-streamer", attrs={"data-field": "regularMarketChangePercent"}).get_text()
print(f"{name}의 지수는 {index}이며 {change} 변동되었습니다")
print("\n")
print("="*30)
해당 코드 실행시 아래와 같이 작동합니다
반응형
'[Lang]Python' 카테고리의 다른 글
[Python] 1장 파이썬의 기본 구문 (0) | 2023.05.03 |
---|---|
파이썬 테서랙트를 활용한 영어+한국어(image) To 문자(String) 변환하기 (0) | 2022.05.01 |