개발자로 가는길 :: '개발' 카테고리의 글 목록 (23 Page)
반응형

개발에 해당하는 글
반응형
134

날씨정보 텔레그램 봇으로 전송 파이썬 코드

개발/파이썬|2023. 1. 15. 18:23
728x90
반응형
import requests
from bs4 import BeautifulSoup
import json
import requests

# 네이버에서 노형동 날씨 검색으로 나온결과 긁어오기 / 자신의 동네 날씨 검색결과로 대체할수있음
url = "https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=%EB%85%B8%ED%98%95%EB%8F%99+%EB%82%A0%EC%94%A8&oquery=%EC%A0%9C%EC%A3%BC%EC%8B%9C+api&tqi=h8M2asp0JXossTIY0g8ssssssR4-445185"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# 검색결과중 <div class="weather_info"> 부분에 있는 텍스트만 긁어서 forecast_text 에 저장
forecast_text = soup.find("div", class_="weather_info").get_text()

# 텔레그램 메시지로 전송
bot_token = "봇 토큰 입력"
chat_id = "chat_id 입력"
#봇 API 이용하여 forcast_text 에 저장된 문자열 메시지 전송
send_text = 'https://api.telegram.org/bot' + bot_token + '/sendMessage?chat_id=' + chat_id + '&parse_mode=Markdown&text=' + forecast_text
response = requests.get(send_text)

print(response.json())

이것도 Beautifulsoup 이용하여 네이버에서 "노형동 날씨 " 검색 결과에 나오는 일부분의 텍스트를

텔레그램 메시지로 전송받는 코드를 짜보았다.

구글에 "텔레그램 봇 파이썬" 만 검색해도 예제가 많이 나와있어서 신기해서 만들어봤는데 재미있다.

 

실행결과 정상적으로 메시지가 전송되었는데

이렇게 긁어온 텍스트를 어떻게 가공해야 하는지 모르겠다 좀 더 깔끔하게 가공해서 메시지가 전송되면 좋을텐데.

실행파일을 컴퓨터가 켜졌을때 시작프로그램으로 등록할 예정이다

 

 



스킬이 늘고 꾸준히 하면 더 재미있는 것들을 만들 수 있을 것 같다

728x90
반응형

댓글()

로또 전회차 당첨번호 제외 로또번호 뽑기 파이썬 코드

개발/파이썬|2023. 1. 15. 16:24
728x90
반응형
import os
import random
import requests
from bs4 import BeautifulSoup

while True:
    # 로또 홈페이지에서 전회차 당첨번호 긁어오기
    url = "https://www.dhlottery.co.kr/common.do?method=main"
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    exclude_nums = [int(soup.select_one(f"#drwtNo{i}").text) for i in range(1,7)]
    print("전 회차 당첨번호 제외 로또번호 추출기(보너스번호는포함) / Made by 실직자 20230115 ")
    print("")
    print("제외수:", exclude_nums)
    # 10번 반복
    for i in range(10):
        # 1에서 45까지 리스트 작성
        nums = list(range(1,46))
        # 1~45 중 exclude_nums 에 저장한 전회차 당첨번호 제외
        for num in exclude_nums:
            nums.remove(num)
        # 6개의 번호 랜덤으로 뽑기
        lotto_nums = random.sample(nums, 6)
        lotto_nums.sort() #오름차순 정렬
        print(lotto_nums) #번호 6개 출력
    if input(" 엔터키를 2번 누르면 다시시도 ") != "":
        break


    os.system('pause')

 

순수하게 구글링, 유튜브 강의만보고 작성한 코드라 더 간단한 방법이 있는지는 모른다.. 그냥 소소한 취미생활임

BeautifulSoup 을 이용해 로또 홈페이지에 있는 전회차 당첨번호 (보너스 숫자는 제외) 가져와

1~45까지의 숫자 중 전회차 당첨번호를 제외하고 랜덤으로 6개의 숫자를 뽑는 코드를 만들어봤다

 

실행결과 성공~

728x90
반응형

댓글()