-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
강의 외 질문입니다.
19.08.22 08:38 작성 조회수 135
0
저번에 질문드렸던 학교홈페지이의 새 글이 올라오면 가져오는 것을 해보고 있습니다.
사이트의 posts[4]가 무조건 최신글이 됩니다.
그렇다면 만약에 다음에 또 실행을 했을 때, 새글이 있을 때만 가져오고, 없을 때는 안가지고 오는 것을 어떻게 만들 수 있을까요?
일단 지금 생각하고 있는게, 가져온 글들을 .txt에 저장 후 같은 제목이 있으면 그만하고, 일치하는게 없다면 가져오는 것을 생각 중 입니다.
아니면 아얘 셀레니움으로 가야 방법이 있을까요?
힌트라도 부탁드립니다ㅠㅠ물어 볼 사람이 없어서 좀 답답합니다.
첫번째 코드가 최신코드입니다. 어디로 가는지 모르겠습니다ㅠㅠ
import requests
from bs4 import BeautifulSoup
import os
req = requests.get("https://www.daegu.ac.kr/article/DG159/list")
html = req.text
soup = BeautifulSoup(html, 'lxml')
posts = soup.select("table.board_tbl_list > tbody:nth-child(4) > tr > td.list_left > a")
for post in posts:
title = post.get_text()
print(title, end='')
link = post.get('href')
url = "https://www.daegu.ac.kr/article/DG159/list" + link
print(url)
print(post)
import requests
from bs4 import BeautifulSoup
import os
BASE_DIR = os.path.dirname("/Users/yeon/Desktop/인프런/untitled folder")
req = requests.get("https://www.daegu.ac.kr/article/DG159/list")
html = req.text
soup = BeautifulSoup(html, 'lxml')
posts = soup.select("table.board_tbl_list > tbody:nth-child(4) > tr > td.list_left > a")
latest = posts[4].text
답변을 작성해보세요.
0
좋은사람
지식공유자2019.08.22
안녕하세요.
여러가지 방법이 있을 수 있습니다.
1. DB에 마지막 글을 저장해놓고 가장 최신의 글과 비교해서 같으면 가져오지 않습니다.
2. 마지막 가져온 글의 사이즈 및 길이 및 hash 코드를 비교해서 같으면 아직 새글이 등록되지
않은 것이라 판단해서 가져오지 않습니다.
3. 게시판에 날짜 및 시간정보가 있다면 비교해서 같으면 새글이 아니므로 패스합니다.
구현하는 방법에 따라서 개개인마다 패턴이 다를 것 같습니다.
감사합니다.
답변 1