[Python] 나도코딩 웹 스크래핑편 - (6) 어서오세요 305호에

Updated:

유튜브 나도코딩 웹 스크래핑 무료 강의를 통해 학습한 내용을 정리해서 올리고 있습니다.

실습과정에서 필요에 따라 일부 강의 내용의 누락 및 추가, 수정사항이 있습니다.

퀴즈의 경우, 유튜브 풀이와 상이할 수 있습니다.


네이버 웹툰: 어서오세요 305호에

import requests
from bs4  import BeautifulSoup

url = "https://comic.naver.com/webtoon/list.nhn?titleId=25735"
res = requests.get(url)
res.raise_for_status()

soup = BeautifulSoup(res.text, "lxml")
cartoons = soup.find_all("td", attrs={"class":"title"})

# 전체 제목과 링크
for cartoon in cartoons:
    title = cartoon.a.get_text()
    link = "https://comic.naver.com" + cartoon.a["href"]
    print(title, link)
[11화] 정현의 변신, 그리고.. https://comic.naver.com/webtoon/detail.nhn?titleId=25735&no=11&weekday=thu
[10화] 긴장해라, 홈.. https://comic.naver.com/webtoon/detail.nhn?titleId=25735&no=10&weekday=thu
[9화] 홈에 대해 https://comic.naver.com/webtoon/detail.nhn?titleId=25735&no=9&weekday=thu
[8화] 한 달의 약속 https://comic.naver.com/webtoon/detail.nhn?titleId=25735&no=8&weekday=thu
[7화] 홈도 밟으면 꿈틀 https://comic.naver.com/webtoon/detail.nhn?titleId=25735&no=7&weekday=thu
[6화] 패닉, 정현 https://comic.naver.com/webtoon/detail.nhn?titleId=25735&no=6&weekday=thu
[5화] 홈의 방 https://comic.naver.com/webtoon/detail.nhn?titleId=25735&no=5&weekday=thu
[4화] 칭찬하는 그들, 불쾌해진 정현 https://comic.naver.com/webtoon/detail.nhn?titleId=25735&no=4&weekday=thu
[3화] 둘째 날 https://comic.naver.com/webtoon/detail.nhn?titleId=25735&no=3&weekday=thu
[2화] 한 달 동안.. https://comic.naver.com/webtoon/detail.nhn?titleId=25735&no=2&weekday=thu
  • 네이버 웹툰 어서오세요 305호에 첫 페이지 url을 가져왔다(최애 웹툰이다).

  • 각 회차별 제목은 td 태그 밑의 첫 번째 a 태그의 text에 저장되어 있고 링크는 href 속성에 저장되어 있다.

평점 구하기

total_rate = 0
cartoons = soup.find_all("div", attrs={"class":"rating_type"})

for cartoon in cartoons:
    rate = cartoon.find("strong").get_text() # div element 안에 strong element 가져옴 / cartoon.strong.get_text()
    print(rate)
    total_rate += float(rate)
print("전체 점수 : ", round(total_rate, 2))
print("평균 점수 : ", round(total_rate / len(cartoons), 2) )
9.93
9.96
9.96
9.96
9.96
9.96
9.96
9.96
9.96
9.96
전체 점수 :  99.57
평균 점수 :  9.96
  • 각 회차별 평점은 div 태그 밑의 첫 번째 strong 태그의 text에 저장되어 있다.

Leave a comment