반응형
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)
반응형
'웹 기초 > Crawling, MongoDB' 카테고리의 다른 글
Mongo DB 서버 종료 (0) | 2021.07.06 |
---|---|
DB 내용 조작하기, 지니 뮤직 Crawling (0) | 2021.06.28 |
크롤링 결과를 DB에 저장, Request 사용 (0) | 2021.06.14 |
MongoDB Update, Delete (0) | 2021.06.13 |
Robo 3T & Mongo DB - Insert, Find (0) | 2021.06.13 |
댓글