03.08 크롤링 연습

이셀·2022년 10월 24일
0

내일 배움단 

목록 보기
6/8

먼저 밝힐 것은... 죽어도 파이참을 쓰기 싫었기에(솔직히 vs code가 손에 너무 익었기에 또 옮기기 싫었다ㅜㅜ) vscode로 진행중이다.
따라서 강의에서 진행하는 방법과 전혀 다른 방법을 사용해야하다보니, 터미널에서 모듈 에러가 일어나게 되었다.

https://velog.io/@coding_egg/vscode-vscode%EC%9D%98-import-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0

https://gumtree.tistory.com/entry/python-%ED%8C%8C%EC%9D%B4%EC%8D%AC-requests-bs4-no-module-named-pip-install-%EC%97%90%EB%9F%AC-vscode

해당 블로그의 글을 참고하여 모듈 에러를 고치게 되면 파이썬 및 beautifulSoup을 사용할 수 있게 된다!

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(2) > td.title > div > a
#old_content > table > tbody > tr:nth-child(3) > td.title > div > a


movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
    a = movie.select_one('td.title > div > a')
    if a is not None :
        title = a.text
        rank = movie.select_one('#td:nth-child(1) > img')['alt']
        star = ...
        print(rank,title,star)
profile
프론트엔드 개발자! 현재 SQL 뽀개는중;)

0개의 댓글