언어/파이썬
파이썬 beautifulsoup 네이버 웹툰 요일별로 크롤링하기
proqk
2020. 9. 28. 17:12
반응형
파이썬 크롤링 시리즈
네이버 웹툰 이미지 크롤링, 저장하기: foxtrotin.tistory.com/173
셀레니움으로 웹 게임 자동 매크로 만들기: foxtrotin.tistory.com/179
네이버 실시간 검색어 가져오기: foxtrotin.tistory.com/267
네이버 웹툰 요일별 크롤링: 현재글
네이버 웹툰 요일별 웹툰 리스트를 크롤링하는 프로그램
크롤링 전에 다음 모듈이 설치되어야 한다
beautifulsoup 설치: foxtrotin.tistory.com/173
크롬 드라이버 설치: foxtrotin.tistory.com/179
1. 홈페이지의 구조 확인하기
크롤링을 위해서 두 가지 정보가 필요하다
1) 각 요일 별 전체 웹툰 제목들
2) 요일 별 웹툰 제목들
각 요일 별 전체 웹툰 정보는 div class="col_inner"에 li태그들로 묶여 있다
요일 별로 하나씩 있는 col_inner를 총 7개 가져올 것이다
제목 정보는 li태그 안에 a태그, title에 있다
2. 정보 크롤링
daily_list=soup.findAll('div',{'class':'col_inner'})
먼저 요일 별 전체 웹툰 정보는 이렇게 가져올 수 있다
titles=daily_list[day].findAll('a', {'class': 'title'})
타이틀 정보는 이렇게 가져온다
위에서 가져온 daily_list안에서 각 요일 별로 a태그 안에 title=""에 모든 문자열을 가져온다
3. 리스트 출력
from bs4 import BeautifulSoup
import urllib.request
html = urllib.request.urlopen("https://comic.naver.com/webtoon/weekday.nhn")
soup = BeautifulSoup(html.read(),"html.parser") #웹 페이지 파싱
html.close() #닫기
def getkeyword():
daily_list=soup.findAll('div',{'class':'col_inner'})
week=['월요웹툰', '화요웹툰', '수요웹툰', '목요웹툰', '금요웹툰', '토요웹툰', '일요웹툰']
for day in range(len(daily_list)):
print("["+week[day]+"]")
titles=daily_list[day].findAll('a', {'class': 'title'})
titles_txt = [t.text for t in titles]
index=1
for i in titles:
data = str(index)+". "+i.get_text()
print(data)
index+=1
print("\n\n=======================\n\n")
getkeyword()
각 요일 이름을 담은 리스트를 만들어서 같이 출력해 주었다
반응형