티스토리 뷰

반응형

웹스크래핑 더 해보기 (순위, 제목, 별점)

Q. 아래와 같이 보이면 완성!

A. 완성 코드

import requests

from bs4 import BeautifulSoup

 

# URL을 읽어서 HTML를 받아오고,

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}

data = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20200303',headers=headers)

 

# HTML을 BeautifulSoup이라는 라이브러리를 활용해 검색하기 용이한 상태로 만듦

soup = BeautifulSoup(data.text, 'html.parser')

 

# select를 이용해서, tr들을 불러오기

movies = soup.select('#old_content > table > tbody > tr')

 

# movies (tr들) 의 반복문을 돌리기

for movie in movies:

      # movie 안에 a 가 있으면,

      a_tag = movie.select_one('td.title > div > a')

      if a_tag is not None:

           rank = movie.select_one('td:nth-child(1) > img')['alt']             # img 태그의 alt 속성값을 가져오기

           title = a_tag.text                                                           # a 태그 사이의 텍스트를 가져오기

           star = movie.select_one('td.point').text                               # td 태그 사이의 텍스트를 가져오기

           print(rank,title,star)

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
링크
글 보관함