본문 바로가기
Python/BeautifulSoup

파이썬(BeautifulSoup) 원하는 데이터 크롤링 하기

by 미눅스[멘토] 2023. 7. 7.
728x90

- 인터넷 문서의 구조에서 명확한 데이터를 추출하고 처리하는 가장 쉬운 라이브러리 

 

 

 

 

 

soup.find() 맨첫번째 태그 하나만 가져옴

soup.find_all() 태그단위로 뽑아오는데  고른 태그와 관련된 모든 태그들을 배열로 가져옴

 

 

 

 

 


 

 

 

find()

find_all()

이용해서 값 뽑아오기

import requests
from bs4 import BeautifulSoup

url = 'http://127.0.0.1:8000/emplist'

response = requests.get(url)
print("response",response.text)

html = response.text
soup = BeautifulSoup(html, 'html.parser')#html형태로 바꾼다.
trs = soup.find_all('tr')#soup.find태그단위로 뽑아오는 기능

for idx,tr in enumerate(trs):
    if idx == 0:
        continue
    tds = tr.find_all('td')
    
    print(tds[1].text,tds[3].text)

결과값

 


 

 

select_one()

select()

이용해서 갑 뽑아오기

import requests
from bs4 import BeautifulSoup

url = 'http://127.0.0.1:8000/emplist'

response = requests.get(url)
print("response",response.text)

html = response.text
soup = BeautifulSoup(html, 'html.parser')#html형태로 바꾼다.
trs = soup.select("tr")

for idx,tr in enumerate(trs):
    if idx == 0:
        continue
    tds = tr.select('td')

    print(tds[1].text,tds[3].string)

결과값


 

select를 이용해서 클래스 값 가져오기

 

 

 

 

import requests
from bs4 import BeautifulSoup

url = 'http://127.0.0.1:8000/emplist_fake'

response = requests.get(url)
# print("response",response.text)
html = response.text
soup = BeautifulSoup(html, 'html.parser')

# 클래스를 이용해서 tr찾기
trs = soup.select(".real tr")

for idx,tr in enumerate(trs):
    if idx == 0:
        continue
    tds = tr.select('td')

    print(tds[1].text,tds[3].string)

결과값

 


find를 이용해서 클래스 값 가져오기

결과