디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[일반] 파이썬 코드좀 도와줘

숨동갤로그로 이동합니다. 2024.05.20 00:12:40
조회 283 추천 0 댓글 14
														

웹링크 10초마다 한번씩 체크해서 새 게시물 등록되면 이메일로 알림해주는 코드야. 



import requests

from bs4 import BeautifulSoup

import time

import smtplib

from email.mime.text import MIMEText

import winsound

import logging


# Configure logging

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')


# URLs to monitor

urls = [

    "https://www.sejong.go.kr/prog/contractBid/contract/sub02_01/list.do",

    "https://www.alio.go.kr/occasional/bidList.do",

    "https://gall.dcinside.com/mgallery/board/lists?id=thesingularity",

    "https://stackoverflow.com/questions",

]


# Email configuration

smtp_server = "smtp.office365.com"

smtp_port = 587

email_address = "이메일@outlook.com"

email_password = "비번"

email_addressto = "이메일@gmail.com"


# Initialize last post IDs

last_post_ids = {}


def print_status():

    logging.info("Program is still running...")


def check_new_post(url, soup):

    try:

        if "sejong.go.kr" in url:

            # Extract the post ID from the table cell with class "subject bold" and data-cell-header="공고명"

            first_post = soup.select_one('td.subject.bold[data-cell-header="공고명"]')

            if first_post:

                post_id = first_post.text.strip()

                logging.info(f"Extracted post ID {post_id} for URL {url}")

                return post_id

        elif "alio.go.kr" in url:

            first_post = soup.select_one("div.bidList ul li:first-child a")

            if first_post:

                post_id = first_post["href"]

                logging.info(f"Extracted post ID {post_id} for URL {url}")

                return post_id

        elif "gall.dcinside.com" in url:

            # Extract the post ID from the table cell with class "gall_tit ub-word"

            first_post = soup.select_one('td.gall_tit.ub-word a')

            if first_post:

                post_id = first_post["href"]

                logging.info(f"Extracted post ID {post_id} for URL {url}")

                return post_id

        elif "stackoverflow.com" in url:

            first_post = soup.select_one("div.question-summary a.question-hyperlink")

            if first_post:

                post_id = first_post["href"]

                logging.info(f"Extracted post ID {post_id} for URL {url}")

                return post_id

    except Exception as e:

        logging.error(f"Error checking new post for URL {url}: {e}")

    return None




while True:

    for url in urls:

        try:

            response = requests.get(url)

            response.raise_for_status()

            soup = BeautifulSoup(response.text, "html.parser")

            post_id = check_new_post(url, soup)


            if post_id:

                logging.info(f"Detected post ID {post_id} for URL {url}")

                if url not in last_post_ids or last_post_ids[url] != post_id:

                    last_post_ids[url] = post_id

                    msg = MIMEText(f"New post detected. URL: {url}, Post ID: {post_id}")

                    msg["Subject"] = "New Post Alert"

                    msg["From"] = email_address

                    msg["To"] = email_addressto


                    with smtplib.SMTP(smtp_server, smtp_port) as server:

                        server.starttls()

                        server.login(email_address, email_password)

                        server.send_message(msg)


                    winsound.PlaySound("SystemHand", winsound.SND_ALIAS)

                    logging.info(f"Email sent for new post ID {post_id} on URL {url}")

            else:

                logging.info(f"No new post detected for URL {url}")


        except requests.RequestException as e:

            logging.error(f"Network error while accessing URL {url}: {e}")

        except Exception as e:

            logging.error(f"Unexpected error: {e}")


    time.sleep(10)  # Check interval of 10 seconds

    print_status()

자동등록방지

추천 비추천

0

고정닉 0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2868 설문 힘들게 성공한 만큼 절대 논란 안 만들 것 같은 스타는? 운영자 24/06/10 - -
2870 이슈 [디시人터뷰] 웃는 모습이 예쁜 누나, 아나운서 김나정 운영자 24/06/11 - -
491698 일반 지피티5 이야기나 하자 나오면 코딩 완전 끝나나? [7] ㅇㅇ(121.88) 20:06 129 0
491697 일반 확률론적 앵무새 만으로 지식노동의 95프로 대체 가능함 ㅇㅇ(121.186) 20:05 60 0
491696 일반 특갤할거면 마음을 굳게 먹어야지 [1] 떠깅갤로그로 이동합니다. 20:05 71 1
491695 일반 아니다라고 하는 애들도 [7] ㅇㅇ(211.214) 20:05 79 0
491693 일반 확률 > 왜 극한으로 조져도 한계가 있다는 식으로 무시함 [3] ㅇㅇ(210.179) 20:03 105 0
491692 일반 확률적 앵무새보다 진단 못하는 좆간 의사들은 다 뒤져야 하노 [4] ㅇㅇ(110.145) 19:59 145 2
491691 일반 왜 gpt 또 안되냐 [3] ㅇㅇ(118.39) 19:57 83 0
491690 일반 3연패가 크네 ㅇㅇ(118.34) 19:55 78 0
491689 일반 근데 우린 황인종이라 pc 중요하지 않음? [1] ㅇㅇ(121.88) 19:54 126 1
491688 일반 요즘 특갤 왜 이러냐? [4] ㅇㅇ(222.119) 19:52 185 1
491686 일반 얀 르쿤 : 앵무새 뇌 개쩐다 [9] ㅇㅇ(125.183) 19:50 331 5
491685 일반 역노화 안온 세상이 무서운건 [4] ㅇㅇ(106.244) 19:49 150 1
491684 일반 밑에 최예진 교수가 ㄴㄱ지 하고 찾아봤는데 ㅇㅇ(103.237) 19:49 89 0
491683 일반 여기보면 AI에 대해 분위기 안좋은거같은데 [12] ㅇㅇ(106.241) 19:47 245 0
491682 일반 삼성전자, 애플 시리 담당 임원 영입…AI센터 소장 맡겨 [4] ㅇㅇ(49.167) 19:46 143 0
491681 일반 확률적인 모델링은 전혀 문제가 아님 ㅇㅇ(175.113) 19:46 48 0
491680 일반 알트만 쩍벌 스트레칭 짤 따라하니까 개빡세네 ㄹㅇ [5] 트라야누스(14.32) 19:45 182 0
491679 일반 gpt-5 뜬거임? [8] 쟈가리코갤로그로 이동합니다. 19:44 272 0
491678 일반 근데 ㅈ문가 님들 궁금한게 있음 [7] ㅇㅇ(218.39) 19:43 100 0
491677 일반 애초에 v-jepa나 sora나 동작원리 거의 같지 않음?? [1] ㅇㅇ(58.238) 19:42 70 0
491676 일반 우리가 너무 익숙해져서그런거지 [7] ㅇㅇ(14.53) 19:40 207 0
491675 일반 뭐 확률론적 앵무새? ㅇㅇ(119.202) 19:40 44 0
491674 일반 많은 선형충들은 흑화한 특붕이다 ㅇㅇ(112.165) 19:39 42 0
491673 일반 확률학적 섹무새 ㅇㅇ(221.167) 19:39 32 0
491672 일반 모두가 처음부터 노인은 아니었다 [6] ㅇㅇ(106.244) 19:39 131 1
491671 일반 문제는 95프로의 인간보다는 지피티가 여러모로 우월해 [3] ㅇㅇ(121.186) 19:36 91 0
491670 일반 Llm 까대는 얀 르쿤도 존나 웃긴 양반임 [7] ㅇㅇ(125.183) 19:36 168 0
491669 일반 확률학적 앵무새 <-- 이거 누가 만든 말이냐? ㅋㅋㅋ [2] ㅇㅇ(221.167) 19:36 128 0
491668 일반 근데 얀르쿤은 게이도 아니고 탈모도 아니잖아 트라야누스(14.32) 19:32 33 0
491667 일반 이새끼들 이제 인지부조화와서 ㅇㅇ(220.72) 19:30 65 1
491665 일반 확률로 뱉는다는게 꼭 문제인가 [9] ㅇㅇ(39.124) 19:27 193 0
491664 일반 근데 애플까는 대부분 애플 안써본거도 팩트임 [6] ㅇㅇ(121.134) 19:27 102 3
491663 일반 확률적으로 근접한 단어를 배열하는게 [1] ㅇㅇ(218.39) 19:23 101 0
491662 일반 역노화를 알게된 후 내 인생 변화 [2] ㅇㅇ(121.88) 19:22 75 0
491660 일반 근데 얀르쿤 앵무새 드립에 처음으로 빵 터짐 ㅋㅋ [1] ㅇㅇ(218.39) 19:19 114 1
491659 일반 gpt5도 기대가안되네 ㅇㅇ(220.121) 19:17 52 0
491658 일반 앵무새 정도면 agi지 [2] ㅇㅇ(118.34) 19:17 160 0
491656 일반 근데 애플 너무너무 혐오스러운데 안쓰면 경쟁력 없을까? [2] ㅇㅇ(221.168) 19:16 66 1
491655 일반 확률이고 나발이고 왜 그랬던 걸까 [2] ㅇㅇ갤로그로 이동합니다. 19:13 117 0
491654 일반 컴알못 그냥 아는 게 없는데 엔비디아가 어떤 위치임? [14] 첨성대전문가갤로그로 이동합니다. 19:10 164 0
491653 일반 뭐 근데 르쿤이형 'llm은 이해 아예 못함' 이러지는 않았잖어 ㅇㅇ(103.237) 19:09 51 0
491652 일반 생성 인공지킁 자체가 확률 추론 머신을 [1] ㅇㅇ(121.186) 19:09 54 0
491651 일반 지금 지피티 안되는거 맞음? [2] ㅇㅇ(211.210) 19:08 71 0
491650 일반 LLM 구조 대충 알면 확률론적 뭐시기~ 가 공감이 됨 [7] ㅇㅇ(218.146) 19:07 146 2
491649 일반 생각해보니 치타는 OAI였던 듯 초존도초갤로그로 이동합니다. 19:06 59 0
491648 일반 밑에 흑인아줌마 연구가 쓰레기인게 ㅇㅇ(121.186) 19:06 92 0
491647 일반 확률론적 초파리정도면 ㄱㅊ나 ㅇㅇ(115.139) 19:05 19 0
491645 일반 현재의 인류가 과거의 인류보다 행복할까?? [5] ㅇㅇ(59.0) 19:03 77 0
491644 일반 얀 르쿤 : LLM 확률론적 앵무새 아님 [33] ㅇㅇ(125.183) 19:02 1414 29
491643 일반 님들 희소식임 [3] ㅇㅇ(59.7) 19:02 97 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2