기술/프로그래밍

파이썬 BeautifulSoup 모듈

파크텐 2024. 1. 2. 10:47

https://rkckskdk.tistory.com/307

 

파이썬 requests 모듈

requests 모듈은 간단한 http 라이브러리다. 서버에 request를 보내고, response로 html을 받는 역할을 한다. import requests response = requests.get("https://www.naver.com/") print(response) print(response.status_code) print(response.

rkckskdk.tistory.com

 

requests 모듈로 response를 받았다면,

그 HTML을 분석할 차례이다.

BeautifulSoup가 도와준다.

 

https://wikidocs.net/85739

 

2.6 사이트 정보 추출하기 - beautifulsoup 사용법 (1)

# BeautifulSoup가 필요한 이유 request.text를 이용해 가져온 데이터는 **텍스트형태의 html **입니다. 텍스트형태의 데이터에서 원하는 html 태그…

wikidocs.net

import requests
from bs4 import BeautifulSoup

url = 'https://kin.naver.com/search/list.nhn?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC'

response = requests.get(url)

if response.status_code == 200:
    html = response.text
    soup = BeautifulSoup(html, 'html.parser')
    print(soup)

else : 
    print(response.status_code)

 

 

 

하나의 요소 가져오기

url = 'https://kin.naver.com/search/list.nhn?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC'

response = requests.get(url)

if response.status_code == 200:
    html = response.text
    soup = BeautifulSoup(html, 'html.parser')
    title = soup.select_one('#s_content > div.section > ul > li:nth-child(1) > dl > dt > a')
    print(title)

 

 

여러개 뽑기

import requests
from bs4 import BeautifulSoup

url = 'https://kin.naver.com/search/list.nhn?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC'

response = requests.get(url)

if response.status_code == 200:
    html = response.text
    soup = BeautifulSoup(html, 'html.parser')
    ul = soup.select_one('ul.basic1')
    titles = ul.select('li > dl > dt > a')
    for title in titles:
        print(title.get_text())
else : 
    print(response.status_code)

 

 

request와 beautifulsoup는 request 후 받은 response를 분석하는 역할을 한다.