본문 바로가기

19. 메모장(1)

by Rudy 2021. 9. 8.

templates, static 디렉토리 생성 후 falsk, pymongo, requests, bs4 패키지 설치

 

- 서버가 제공할 기능: db에 이미지, 제목, 링크, 요약, 코멘트를 저장해야 하고, URL의 meta 태그 정보를 바탕으로 제목, 설명, 이미지 URL 스크래핑 

 

- 요청 URL= /memo

  요청 방식= POST

 

- 응답 데이터: API가 제대로 동작하면 아티클들의 정보를 json 형식으로 만들어서 카드로 붙인다.

 

 

<URL에서 meta 태그 정보를 가져오기>

해당 웹사이트 개발자 도구에서 head태그 안에 meta태그가 들어가있다.

 

*meta 태그: 헤드 태그 부분에 들어가는 눈으로 보이는 것 외에 사이트의 속성을 설명해주는 태그들.

ex) 구글 검색 시 표시 될 설명문, 사이트 제목, 카톡에 공유하게 되면 표시되는 썸네일

 

-크롤링 연습

 

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('meta[property="og:title"]')['content']
image=soup.select_one('meta[property="og:image"]')['content']
description=soup.select_one('meta[property="og:description"]')['content']

print(title,image,description)

파이썬에서는 크롤링해서 정보를 가져올 때, 어떤 태그 안에 있는 정보를 가져오고자 하면 copy selector를 이용해서 가져오는 것이 아니라 태그[] 의 중괄호 안에 property를 넣어주면 된다.

 

그리고 가져온 정보에서 content만 가져와야 하기 때문에 옆에 ['content']를 넣어주고 제목, 이미지, 요약을 출력해주면 제대로 출력이 되는 것을 확인할 수 있다.

 

 

'' 카테고리의 다른 글

21. 간이 쇼핑몰 페이지 만들기  (0) 2021.09.11
20. 영화 리뷰 메모장(2)  (0) 2021.09.10
18. 모두의 북리뷰 페이지 만들기  (0) 2021.09.06
17. flask  (0) 2021.09.05
16. 웹스크래핑 연습  (0) 2021.09.04

댓글