본문 바로가기
💻 개발블로그/파이썬문법

파이썬 크롤링하기(웹스크래핑)

by August.J 2021. 12. 15.

**BS4/BeautifulSoup을 이용한 크롤링(웹스크래핑) 연습예제

 

검사하기에서 코드를 구분할 줄 알아야한다.

전체 끌어올때는 soup.select

한가지만 끌어올때는 select_one

 

!= 

is not

위의 두 가지는 같은 의미이다. is not 이 조금 더 직관적으로 보일 뿐!

 

.text 와 ['']는 print쪽이 아닌 for문쪽에 붙어도 실행이 된다.

import requests
from bs4 import BeautifulSoup

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.naver?sel=pnt&date=20210829',headers=headers)

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

#old_content > table > tbody > tr:nth-child(3) > td.title > div > a
#old_content > table > tbody > tr:nth-child(4) > td.title > div > a

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

for movie in movies:
    rank = movie.select_one('td:nth-child(1) > img')
    title = movie.select_one('td.title > div > a')
    star = movie.select_one('td.point')

    if rank is not None:
        print(rank['alt'], title.text, star.text)