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 |
댓글