파이썬 BeautifulSoup 신문내용 스크랩하기 /문단별로 나눠주기

조회수 505회

BeautifulSoup을 사용해서 사이트에 있는 신문내용을 수집해보았는데 문단마다 줄바꿈이 되지않아 고민입니다.

temp = ""
for n in c:
    temp = temp + str(n.get_text())
#html에 있는 내용 
<p>    
    ABC. DEF.   
</p> 
<p> 
    GH. JK.
</p> 
<p> 
    LMN. OPQ. 
</p> 

get_text()를 이용해서 결과를 얻었으나 아쉬운 점이 있네요.

얻은 결과값 
    ABC. DEF.GH. JK.LMN. OPQ.     <-- <p></p> 이후에 문자열이 붙어버리는 현상도 문제입니다

원하는 결과값
    ABC. DEF.
                        <---줄바꿈
    GH. JK.
                         <---줄바꿈
    LMN. OPQ.
                         <---줄바꿈

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 다음과 같이 각각의 문단텍스트를 따로따로 구해서, 리스트 등에 저장해서 알아서 쓰면 될 것 같습니다.

    from bs4 import BeautifulSoup
    
    html = """<p>    
        ABC. DEF.   
    </p> 
    <p> 
        GH. JK.
    </p> 
    <p> 
        LMN. OPQ. 
    </p> """
    
    soup = BeautifulSoup(html, "html5lib")
    
    paragraphs = [p.get_text() for p in soup.find_all("p")]
    
    for i, p in enumerate(paragraphs):
        print(f'paragraph {i} -------------')
        print(p)
    
    paragraph 0 -------------
    
        ABC. DEF.
    
    paragraph 1 -------------
    
        GH. JK.
    
    paragraph 2 -------------
    
        LMN. OPQ.
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)