본문 바로가기

Lobo's study room/[Sparta]띵동코딩

3주차.웹스크래핑 복습(네이버 영화 순위 분석 크롤링)

이번주는 크롤링 마무리 과정이었다. 복사-요소 복사를 통해 해당 엘리먼트의 태그값을 확인할 수 있다.css확인할때도 편할듯.

수업은 일찍 들었는데 실습이 있어서 살짝 늦게 과정을 끝냈다... :( 요새 강의는 잘 듣고있는데 (출퇴근시간활용) 컴퓨터앞에서는 직접 코드를 치는것은 근무시간외에 하고있지는 못하고 있는것같다... 독서실에 가야할듯! 

 

1.웹스크랩핑 기본 코드

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://search.naver.com/search.naver?where=news&ie=utf8&sm=nws_hty&query=삼성전자',headers=headers)

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

2.네이버 영화 스크래핑

영화 순위, 제목, 별점 출력하기 : print(rank, title, star)

 

1)스크랩핑 팁

tr중 a 태그가 있거나 없는 경우가 섞여있을경우 if문으로 건너뛰기!

a = None

if a is not None:
	print(a)

2)네이버 영화 스크래핑

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=20210101',headers=headers)

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

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

for tr in trs:
  a = tr.select_one('a')
  if a is not None:
   title = a.text
   rank = tr.select_one('img')['alt']
   star = tr.select_one('td.point').text
   
   print(rank, title, star)

'Lobo's study room > [Sparta]띵동코딩' 카테고리의 다른 글

[6주차]HTML, CSS 복습하기  (0) 2022.11.21
[5주차]css활용  (0) 2022.09.24
4주차.HTML, CSS 기초  (0) 2022.08.21
2주차.네이버 뉴스 크롤링  (0) 2022.08.01
1주차.파이썬 기초문법  (0) 2022.07.31