• 목록
  • 아래로
  • 위로

생각보다 별거 없으니 그점 감안해주시기 바랍니다.


이 프로그램은 이 사이트 커뮤니티란에 새로 올라온 글이 몃개인지 알려줍니다.


humit 님의 parsewab 의 도음을 받았구요


코드는 이렇습니다





import requests
from bs4 import BeautifulSoup
import glob
import os
import time
 
 
def new_comm(): #함수
    req = requests.get('https://studyforus.com/communityboard') #전문 긁어오기
    cont = req.content #content 만 때로 추출
 
    soup = BeautifulSoup(cont, 'html.parser') #??
 
    tbody = soup.find('tbody') #soup 중 tbody 부분 찾기
    new = tbody.find('td', class_ = 'no').text #tbody 중  
 
    newi = 0 #최신글 번호
 
    for i in new:
        if '0' <= i and i <= '9':
            newi = newi*10 + int(i) #최산글 번호 int 로 만들기
 
    del req, cont, soup, tbody, new #필요없는거 지우기
 
    f = open('s1t2u3d4y5f6o7r8u9s.txt', 'a') #오류방지용 파일 만들기
    f.close()
 
    f = open('s1t2u3d4y5f6o7r8u9s.txt', 'r') #파일 읽기
    now = f.read() #파일 다 긁어오기
    f.close()
     
    now = now.split('\n') # 줄 나눔
 
 
    if now and now[0]: #파일이 비어있지 않았으면
 
        lastnew = int(now[0])      #마지막에 측정했던 최신글 번호
        lasttime = float(now[1])   #마지막으로 측정했던 시간
 
        print('{} new community posts between \'{}\' and \'{}\''.format(newi - lastnew, time.asctime(time.localtime(lasttime)), time.ctime())) #출력
 
        f = open('s1t2u3d4y5f6o7r8u9s.txt', 'wt') #파일 열기
        f.write(str(newi)) #현재 최신글 번호 입력
        f.write('\n')      # 파일 줄바꿈
        nowtime = time.time() #현재시간 계산
        f.write(str(nowtime))  
        f.close() #파일 닫기
 
    else:    #파일이 비어있으면  
        print('hello.')  
        print('this program started ') #출력
 
        f = open('s1t2u3d4y5f6o7r8u9s.txt', 'wt') #파일 열기
        f.write(str(newi)) #현재 최신글 번호 입력
        f.write('\n')      # 파일 줄바꿈
        nowtime = time.time() #현재시간 계산
        f.write(str(nowtime))  
        f.close() #파일 닫기
 
 
 
new_comm()
 
os.system('pause') #계속하려면 아무 키나 누르십시오 . . .





입니다


오류가 있으면 제가 최대한 고쳐는 보겠습니다









 studyforusp.exe 

작성자
title: 대한민국 국기gimmepoint 37 Lv. (91%) 115020/115520EXP

여러분들 덥죠?

이 서명은 겨울까지 갔다고 한다.....

댓글 1

title: 황금 서버 (30일)humit
profile image

약간 수정을 하자면 newi를 저렇게 복잡하게 구하지 않아도 됩니다.


# 아래에 작성된 원래 코드를 없애시고
"""
    newi = 0 #최신글 번호
 
    for i in new:
        if '0' <= i and i <= '9':
            newi = newi*10 + int(i) #최산글 번호 int 로 만들기
"""
# 아래와 같이 바꾸시면 됩니다.
newi = int(new)


어차피 int 함수를 적용하면 앞쪽과 뒷쪽의 불필요한 공백은 전부 무시하도록 되어있습니다.

comment menu
2019.01.03. 22:48

신고

"humit님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [1차 해결 및 추가] 서버 접속 불가 문제 안내 14 마스터 마스터 24.06.20.15:22 1062
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 3034
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 6789
공지 낚시성 불법도박 홍보 게시글을 주의하세요. 9 image 네모 네모 22.08.09.18:13 1581
공지 슬기로운 포인트 벌이를 하는 법 (22.10.11 업데이트) 64 네모 네모 18.06.17.20:25 16221
3162 잠시 신세 한탄 좀 해 보려고 합니다. 10 image 제르엘 제르엘 18.09.07.22:34 238
3161 가계부 어플을 바꿔야겠습니다. 9 국내산라이츄 국내산라이츄 18.09.07.22:54 142
3160 크롬 업데이트 되었네요. 19 NoYeah NoYeah 18.09.07.23:51 171
3159 sfu 의 발전 16 image title: 대한민국 국기gimmepoint 18.09.08.00:05 145
3158 은근히 페이지 오류 오타 이런거 찾는것도 쏠쏠하네요. 4 슬기 슬기 18.09.08.12:07 125
3157 광고가 반만 출력되네요ㅋㅋㅋ 7 image 네모 네모 18.09.08.18:01 116
3156 30방향 충돌 감지 기능 완성! 9 image BVC_Liper_Okbul BVC_Liper_Okbul 18.09.08.22:30 118
3155 가을이네요. 13 image 제르엘 제르엘 18.09.09.00:47 141
3154 20레벨 완성 8 joyful title: 에그joyful 18.09.09.09:18 111
3153 돌아왓습니다!!!!!! 4 핫슈 18.09.09.16:09 104
3152 동생ski때문에 개고생...ㅠㅠ 14 국내산라이츄 국내산라이츄 18.09.10.19:17 153
3151 오 동전교환 개이득! 5 image 국내산라이츄 국내산라이츄 18.09.10.23:48 98
3150 MYSQL이 사람을 화나게 만듭니다. 4 Dobob title: 도밥위키!Dobob 18.09.11.00:11 115
3149 그요일에 피방가서 작업을ㅜㅜ 7 핫슈 18.09.11.06:26 129
3148 졸지에 책상 난민 신세네요. 8 제르엘 제르엘 18.09.11.08:21 148
3147 아아... 제 컴퓨터는 갔습니다. ㅠㅠ 19 NoYeah NoYeah 18.09.11.14:25 172
3146 열심히 게임 작업중에 있습니다. 10 image BVC_Liper_Okbul BVC_Liper_Okbul 18.09.11.19:26 92
3145 PHP7.2 사용하시는 분? 8 모니터 모니터 18.09.11.20:10 120
3144 1시간 가량 쏟아부어서 움직이는 상태에도 플레이어가 떨어질 수 있도록 제작했으나... 18 image BVC_Liper_Okbul BVC_Liper_Okbul 18.09.11.20:34 128
3143 starrydns.com VPS - 서울에서 오사카와 도쿄까지 ping 차이가 큰가요? 6 image 이니스프리 이니스프리 18.09.11.22:00 651