본문 바로가기
Programming/파이썬

웹 크롤링 BeautifulSoup

by 기적 2021. 1. 18.

특정 page에서 데이터를 가지고 오는 기능

자바 스크립트의 경우 값이 없을 수 있기 때문에 동작을 안할 수 도 있다고 함

네이버 실시간 검색어를 가지고 오기 위해서는 네이버 데이터랩 페이지에서 가지고 와야함

코드는 아래와 같음

# 네이버 실시간 검색어
import requests
from bs4 import BeautifulSoup
 
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}

url = 'https://datalab.naver.com/keyword/realtimeList.naver?where=main'

res = requests.get(url, headers = headers)

soup = BeautifulSoup(res.content, 'html.parser')

data = soup.select('span.item_title')

data2 = soup.findAll('span','item_title')

print(data)
print(data2)

# for 문으로 출력해준다.
count = 1
for item in data:
    print(count,".",item.get_text())
    count +=1
    
    

데이터를 가지고 올때 select와 findAll 둘다 가지고 오게되는데

둘의 차이점은 

find는 html tag를 통한 크롤링이고

select는 css를 통한 크롤링이라고 함

기능적으로는 같음

위 방법을 통해 웹페이지의 내용을 크롤링 할 수 있다

댓글