본문 바로가기
웹 기초/Crawling, MongoDB

Meta Tag Crawling

by 후닝훈 2021. 7. 4.
반응형

Meta 태그란?

  • <head></head> 부분에 들어가는, 눈으로 보이는 것(body) 외에 사이트의 속성을 설명해주는 태그
  • 크롤링 시 자동으로 가져올 수 있도록 도와주는 태그.
  • og:image / og:title / og:description 을 크롤링 할 예정

 

Meta Tag 크롤링 

- 일단 기존과 같은 방법으로 크롤링을 시도해본다.

import requests
from bs4 import BeautifulSoup

url = 'https://movie.naver.com/movie/bi/mi/basic.nhn?code=171539'

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(url,headers=headers)

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

title = soup.select_one('head > meta:nth-child(9)')
print(title)

- 위와 같은 방법으론 크롤링에 실패한다.

- 사람이 브라우저에서 보는 메타 태그의 순서와 파이썬 코드에서의 메타 태그 순서가 다르기 때문에 올바른 정보가 출력되지 않는다.

- 아래와 같은 방법을 사용하자.

title = soup.select_one('meta[property="og:title"]')
print(title['content'])

- 위와 같은 방법으로 이미지도 자동으로 가져올 수 있다.

og_image = soup.select_one('meta[property="og:image"]')
print(og_image)

반응형

댓글