Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

RUBY

[WebData] 3. Beautiful Soup 본문

데이터 분석/EDA_웹크롤링_파이썬프로그래밍

[WebData] 3. Beautiful Soup

ruby-jieun 2023. 2. 5. 10:42

 

 

 

웹 데이터 수집하고 정리하기
3. Beautiful Soup


 

 

 

1. "오늘 밤, 세계에서 이 사랑이 사라진다 해도" 위키 백과 페이지로 이동

https://ko.wikipedia.org/wiki/%EC%98%A4%EB%8A%98_%EB%B0%A4,_%EC%84%B8%EA%B3%84%EC%97%90%EC%84%9C_%EC%9D%B4_%EC%82%AC%EB%9E%91%EC%9D%B4_%EC%82%AC%EB%9D%BC%EC%A7%84%EB%8B%A4_%ED%95%B4%EB%8F%84

 

오늘 밤, 세계에서 이 사랑이 사라진다 해도 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 오늘 밤, 세계에서 이 사랑이 사라진다 해도(일본어: 今夜、世界からこの恋が消えても)는 이치조 미사키의 소설이다. 2019년 제26회 전격 소설 대상(미디어 워크

ko.wikipedia.org

 

 

 

2. 웹페이지(URL)를 복사한다.

 - 메모장이나, Jupyter Notebook 셀에 붙여 넣어 보자.

 - 인코딩이 잘 못되어있어 바뀌어서 나타난다.

 - 웹 주소는 UTF-8로 인코딩 되어야한다.

 

 

3. 크롬 개발자 도구에서 파싱할 부분을 찾아본다.

 

 

 

4. 전체 html을 가져온다.

import urllib
from urllib.request import urlopen, Request

html = "https://ko.wikipedia.org/wiki/{search_words}"

req = Request(html.format(search_words=urllib.parse.quote("오늘_밤,_세계에서_이_사랑이_사라진다_해도"))) 
response = urlopen(req)
soup = BeautifulSoup(response, "html.parser")
print(soup.prettify())

 

 

 

 

5. ul부분의 text를 가져온다.

n = 0 

for each in soup.find_all("ul"):
    print("=>" + str(n) + "========================")
    print(each.get_text())
    n += 1

 

 

 

6. 활용해서 필요한 부분만 가져올 수 있다.

soup.find_all("ul")[22].text.strip().replace("\xa0", "").replace("\n", "")
Comments