암호화폐 가치를 수동으로 추적하시나요?
귀하의 암호화폐 가치가 특정 가치만큼 오르거나 내릴 때 이메일로 알림을 받고 싶으십니까?
단지 코인의 가치를 확인하기 위해 암호화폐 거래소 웹사이트를 방문하고 싶지 않으신가요?
'예'라고 대답했다면 제대로 찾아오셨습니다.
노련한 거래자이든 암호화폐 애호가이든 최신 가격을 지속적으로 업데이트하는 것이 중요합니다. 다행히 Python은 이 프로세스를 자동화하여 시간과 노력을 절약할 수 있습니다.
이 게시물에서는 특정 거래소의 암호화폐 가치를 실시간으로 추적하는 간단한 Python 스크립트를 안내해 드리겠습니다.
암호화폐 시장은 연중무휴로 운영되며 가격은 몇 초 만에 변경될 수 있습니다. 추적 프로세스를 자동화하면 다음과 같은 이점이 있습니다.
따라가려면 다음 사항이 있는지 확인하세요.
세 개의 파일이 있습니다:
전체 코드는 이 GitHub 요지에서 찾을 수 있습니다.
참고: 가독성과 효율성 향상을 위해 코드를 리팩터링할 수 있지만 여기서 가장 중요한 초점은 기능입니다.
참고: 이 예에서는 가격을 추적하는 암호화폐 거래소로 "Kraken"을 사용했습니다.
(예를 들어) Polkadot 코인의 가치가 1 EUR만큼 증가하면 다음과 같은 이메일 알림을 받게 됩니다.
필요한 라이브러리를 가져옵니다.
load_dotenv()
보안 처리를 위해 .env 파일에서 이메일 자격 증명(PASSWORD)과 같은 변수를 로드합니다.
load_dotenv()
목적: 가격 임계값이 충족되면 HTML 형식의 이메일 알림을 보냅니다.
외부 파일(email_template.html)에서 이메일 템플릿을 로드합니다.
def send_email(subject, price, currency_name, image_url, price_change): sender_email = "your_email@gmail.com" receiver_email = "your_email@gmail.com" password = os.getenv("PASSWORD") -> here you need to type your generated google account app password msg = MIMEMultipart() msg['From'] = sender_email msg['To'] = receiver_email msg['Subject'] = subject if price_change > 0: change_emoji = "?" elif price_change < 0: change_emoji = "?" else: change_emoji = "⚖️" with open('email_template.html', 'r', encoding='utf-8') as f: html_template = f.read() html_content = html_template.format( currency_name=currency_name, price=price, image_url=image_url, change_emoji=change_emoji ) msg.attach(MIMEText(html, 'html')) try: server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login(sender_email, password) server.sendmail(sender_email, receiver_email, msg.as_string()) print("E-mail sent!") except Exception as e: print(f"Error occured: {e}") finally: server.quit()
목적: 대상 웹사이트에 대한 과도한 요청을 방지하기 위해 지연을 추가하여 봇으로 탐지되는 것을 방지합니다.
def delay(): time.sleep(2)
목적: JSON 파일에서 암호화폐 세부정보(예: 이름, URL, Imagesrc)를 로드합니다.
def load_cryptocurrencies(): with open('cryptocurrencies.json', 'r') as f: return json.load(f)
목적: 암호화폐 가격 스크래핑을 위해 헤드리스 Chrome 브라우저를 설정합니다.
headless: GUI 없이 Chrome을 실행합니다.
맞춤형 사용자 에이전트: 더 나은 봇 탐지 회피를 위해 실제 브라우저 사용을 모방합니다.
chrome_options = Options() header = Headers(browser="chrome", os="win", headers=False) customUserAgent = header.generate()['User-Agent'] chrome_options.add_argument(f"user-agent={customUserAgent}") chrome_options.add_argument("--headless") chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-dev-shm-usage") driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
cryptocurrencies = load_cryptocurrencies() for currency in cryptocurrencies: try: url = f"https://www.kraken.com/prices/{currency['url']}" driver.get(url) delay() price_element = driver.find_element(By.CLASS_NAME, "asset-price.black-color")
가격 텍스트를 구문 분석하고 비교 및 계산을 위해 부동 소수점으로 변환합니다
price = price_element.text.strip().replace('€', '').replace(',', '.') try: price = float(price) except ValueError: print(f"Error while conversion price for {currency['name']}: {price}") continue
텍스트 파일에서 마지막으로 저장된 가격을 검색합니다. 존재하지 않는 경우 이전 데이터가 없다고 가정합니다.
가격 변동(price_change)을 계산합니다.
previous_price_file = f"previous_price_{currency['url']}.txt" try: with open(previous_price_file, 'r') as file: previous_price = float(file.read().strip()) except FileNotFoundError: previous_price = None price_change = price - previous_price
가격 변경 알림에 대한 임계값 설정:
참고: 더 많은 숫자의 동전을 추적하려면 여기에서 조정해야 합니다.
if previous_price is not None: if price < 100: if abs(price - previous_price) >= 1: subject = f"New price {currency['name']}: {price}" send_email(subject, price, currency['name'], currency['imagesrc'], price_change) else: if abs(price - previous_price) >= 5: subject = f"New price {currency['name']}: {price}" send_email(subject, price, currency['name'], currency['imagesrc'], price_change)
향후 비교를 위해 현재 가격을 텍스트 파일에 저장합니다.
with open(previous_price_file, 'w') as file: file.write(str(price))
except Exception as e: print(f"Error occured for {currency['name']}: {e}")
모든 작업이 완료된 후 브라우저 인스턴스를 닫습니다.
이 작업을 한 시간에 한 번씩 실행하려면 다음을 추가하세요.
driver.quit()
crontab -e
이 가이드를 따르면 잠자는 동안 암호화폐 가격을 추적하고 실시간 이메일 알림을 받을 수 있습니다!
이 게시물이 도움이 되었거나 스크립트 개선을 위한 아이디어가 있다면 아래에 댓글을 남겨주세요.
즐거운 코딩과 성공적인 거래!
위 내용은 GMAIL 및 Python을 사용한 자동화된 암호화폐 가격 추적의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!