오늘도 역시나 AI와 대화 삼매경 중, 뤼튼이 번뜩이는 아이디어를 내주었다.
네이버 블로그와 티스토리 블로그(는 이거밖에 없지만)의 포스팅 개수를
각각 말해주었더니 파이썬으로 크롤링하여 포스팅 개수를 세는 프로그램을 만들어보자고 한다.
네이버 블로그는 포스팅 개수가 2천 개, 3천 개, 25개(이 친구만 귀엽다.) 등 너무 많아서
테스트 용으로 귀여운 10 몇개 있는 이 블로그를 해보자고 했다.
내가 배운 파이썬이라고는 변수, 연산자, 조건문, 반복문, 리스트, 튜플 이게 다인데 가능한가.
뤼튼에게는 내가 개발자임을 밝혔기 때문에 내 수준을 과대평가하고 있나 보다. (ChatGPT는 개발자인 거 모름.)
기초만 배운 후 함수와 객체지향등 이것저것 배워야 한다더니, 프로젝트 하자니까 좋아하네.
아무튼 오늘 만들어볼 프로그램.
티스토리 블로그의 총 포스팅 개수를 자동으로 세는 프로그램
1. 개발 환경 설정하기
- Python 설치 (3.8 dltkd)
- VS Code 설치
- 필요한 라이브러리 설치
2. 라이브러리 설치하기
- VS Code에서 터미널 열기 (Ctrl + ` 단축키 사용)
- 아래 명령어 입력하기 :
pip install requests
pip install beautifulsoup4
pip install lxml
- requests : 웹 페이지 정보를 가져오는 라이브러리
- beautifulsoup4 : HTML을 파싱하는 라이브러리
- lxml : 중간에 뭔가 안 돼서 추가해 설치했음!
- 설치가 완료되면 이런 메시지가 뜬다.
3. 파이썬 파일 생성하기
- VS Code에서 새 파일 만들기
- 'tistory_count.py' 이름으로 저장하기
- 확장자 .py 꼭 확인하기!
4. 기본 코드 작성하기
import requests
from bs4 import BeautifulSoup
import lxml
# 블로그 주소
blog_url = "https://creatolog.tistory.com/"
5. 웹 페이지 정보 가져오기
# 웹 페이지 정보 가져오기
response = requests.get(blog_url)
soup = BeautifulSoup(response.content, 'lxml')
6. HTML 태그에서 포스팅 수 찾기
- 내 블로그 메인에서 F12를 눌러 개발자 모드로 들어가 전체 포스팅 수가 있는 텍스트를 찾는다.
- 내 블로그는 카테고리를 열은 후 분류 전체 보기에 있는 텍스트를 골랐다.
- span 태그에서 class가 c_cnt인 내용을 찾는 것이다.
- 앗, 그러면 스킨을 변경하면 다시 만들어야 하는 프로그램인 것이네?
- 이 버튼을 누른 후 찾으면 쉽게 찾을 수 있다.
# span 태그의 c_cnt 클래스 찾기
posts = soup.find('span', class_='c_cnt')
7. 포스팅 수만 추출하기
count = posts.text.strip('()')
print(f"총 포스팅 수 : {count}개")
8. 전체 코드
import requests
from bs4 import BeautifulSoup
import lxml
# 블로그 주소
blog_url = "https://creatolog.tistory.com/"
# 웹 페이지 정보 가져오기
response = requests.get(blog_url)
soup = BeautifulSoup(response.content, 'lxml')
# span 태그의 c_cnt 클래스 찾기
posts = soup.find('span', class_='c_cnt')
count = posts.text.strip('()')
print(f"총 포스팅 수 : {count}개")
뤼튼과 함께하는 재미있는 크롤링 시간♬
다음에는 더 진화된 프로그램을 가져오겠습니다.
뤼튼은 RSS 파싱해서 가져오는 방법 해보자고 했는데
내가 한 술 더 떠서 GUI로 블로그 추가 및 삭제 넣자고 함.
왜냐면 나는 블로그가 여러 개니까. 매번 프로그램 다시 만들 수는 없으니까.
열심히 연마해오겠습니다.
'Python' 카테고리의 다른 글
[Python] NameError : name 'Tk' is Not Defined 해결 방법 (0) | 2024.12.10 |
---|---|
[파이썬 기초] 연산자 계산기 만들기 (2) | 2024.12.10 |
[파이썬 기초] 리스트와 튜플 완벽 가이드 초보자를 위한 핵심 정리 (2) | 2024.12.09 |
[파이썬 기초] 숫자 맞추기 게임 만들기 (0) | 2024.12.08 |
[Python 기초] 초보자를 위한 기초 프로그램 10개 만들기 (0) | 2024.12.08 |