30_[나홀로메모장] - 조각 기능 구현해보기

4432 단어 pythonpython
  1. 프로젝트 생성: File -> New Project -> alonememo 불러오기
  2. flask, pymongo, requests, beatifulsoup 설치



  3. api 설계하기: 조각 기능 구현하기
    모든 프로젝트를 하기 전에는 api 설계를 가장 먼저 해야 함.
    테스트 할 조각 기능: url을 가지고 이미지, 링크, 내용을 가지고 오게 해야 함

다음과 같이 안 되는 경우도 있음..
웹페이지에서의 meta 태그 순서와 python코드가 접속했을 때의 meta 태그 순서가 다르기 때문임


beautifulsoup의 다른 사용 방법
다음을 복사

meta 태그 중에서 다음과 같은 속성 property="og:title" 이 일치하는 것을 가져오라는 명령

  • meta_prac.py
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"]')
print(title)

실행결과 (성공적으로 가지고 옴)

C:\Users\rokimo\Desktop\sparta\projects\alonememo\venv\Scripts\python.exe C:/Users/rokimo/Desktop/sparta/projects/alonememo/meta_prac.py
<meta content="그린 북" property="og:title"/>

Process finished with exit code 0

print(title['content']) 와 같이 입력하면 텍스트만 가지고 오게 된다.

  • meta_prac.py
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']
print(title)

실행결과

C:\Users\rokimo\Desktop\sparta\projects\alonememo\venv\Scripts\python.exe C:/Users/rokimo/Desktop/sparta/projects/alonememo/meta_prac.py
그린 북

Process finished with exit code 0

위와 같은 방식으로 여러 요소를 계속 크롤링한다.

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

print(title,image,desc)

실행결과

C:\Users\rokimo\Desktop\sparta\projects\alonememo\venv\Scripts\python.exe C:/Users/rokimo/Desktop/sparta/projects/alonememo/meta_prac.py
그린 북 https://movie-phinf.pstatic.net/20190115_228/1547528180168jgEP7_JPEG/movie_image.jpg?type=m665_443_2 1962년 미국, 입담과 주먹만 믿고 살아가던 토니 발레롱가(비고 모텐슨)는 교양과 우아함 그 자체인천재...

Process finished with exit code 0

좋은 웹페이지 즐겨찾기