본문 바로가기
Data Analysis

Beautiful Soup Basic

by ram_ 2022. 11. 17.

● install

- conda install -c anaconda beautifulsoup4
- pip install beautifulsoup4
 

● import

```

from bs4 import BeautifulSoup

```

 open

```

page = open("../data/-", "r").read()

soup=BeautifulSoup(page, "html.parser")          

print(soup.prettify())        

```

prettify() 써줄 시 , 들여쓰기 된 상태의 가독성 좋은 html로 불러와줌

        

 

 tag 확인

```

# head 태그 확인

soup.head

# body 태그 확인 

soup.body

# p 태그 확인 / 가장 처음에 입력된 p 태그만 확인 가능

soup.p

soup.find("p")

# p 태그 안의 속성값 찾기(class_는 파이썬 기본 예약어 class랑 차이 만들어주려 입력)

soup.find("p", class_= "inner-text first-item")

# p 태그 안의 정보 찾기(test로 문자값만 반환 / strip으로 공백 지워서 원하는 데이터만 남김)

soup.find("p", {"class" : "outer-text first-item"}).text.strip()

# 다중 조건. id=first 조건 포함 검색

soup.find("p", {"class":"inner-text first-item", "id":"first"})

# find_all(). 괄호 안 태그의 모든 내용 반환. list 형태.

soup.find_all("p")

# 특정 태그 확인

soup.find_all(id="pw-link")[0].text

```

 

 text Method

```

print(soup.find_all("p")[0].text)

print(soup.find_all("p")[1].string)

print(soup.find_all("p")[1].get_text())

```

 

  a 태그에서 href 속성값에 있는 값 추출 

```

links = soup.find_all("a")

links[0].get("href")

links[1]["href"]

```

둘 다 추출값 같음