worldint
mathengi
worldint
전체 방문자
오늘
어제
  • 분류 전체보기 (152)
    • infra, cloud (4)
      • aws (4)
    • TIL,WIL(일간,주간 회고) (57)
    • 컴퓨터 공학 (5)
      • 정보통신 (3)
      • 컴퓨터 구조 (2)
    • Math (1)
      • linear algebra (0)
      • 명제와 집합 (1)
    • Operating System (8)
      • Linux Ubuntu (1)
    • programming (66)
      • c , c++ (9)
      • c# (0)
      • java (2)
      • javascript (14)
      • Python (4)
      • github (1)
      • programing terms (12)
      • html, css (2)
      • docker (3)
      • algorithm_datastructure (5)
      • database (11)
      • flutter(dart) (2)
    • 항해99 부트캠프 (7)
      • 사전교육 (7)
    • 보안관련 (1)

블로그 메뉴

    공지사항

    인기 글

    태그

    • CloudFront
    • NoSQL
    • ec2 #코드디플로이 #리눅스
    • flutter #provider #error
    • nodejs
    • MongoDB
    • NVM
    • Javascript
    • MONGOOSE
    • docker
    • AWS
    • Blue/Green
    • 디비데드락
    • EC2
    • node
    • db데드락
    • ci/cd

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    worldint

    mathengi

    programming/Python

    [BeautifulSoup]웹크롤링 하기

    2022. 11. 17. 17:10

    BeautifulSoup은 파이썬 라이브러리로 html이나 xml을 꺼내와 파이썬에서 다룰수있게해준다.

    requests패키지와 함꺠사용하여 'requests'로는 웹에서 html을 가져오고

    그 가져온 html을 파이썬에서 이리저리 주무룰 수 있게해주는게 'BeautifulSoup'이다

    본 블로그의 [항해99:사전교육]에(https://hwansci.tistory.com/17)긱본적인 사용법을 기재해놨다.

     

    BeautifulSoup에서 주로쓰는 메소드는 'select()', 'select_one()', 'find()', 'decompose()' 이정도 인거 같다

     

     

    1.select(),select_one()

    select()는 html에서 태그의 'id'나'class'같은 'selector'를 기준으로 해당 태그를 찾아준다.

    #soup에는 이미 html들어있다고 갸장하고 아래와 같이 사용하면 post라는 'id'를 가진 태그를 찾아준다
    soup.select("#post")
    
    #아래는 post라는 id를가진 태그안의 class가 new-list인 태그를 찾아준다
    soup.select("#post > div.new-list")

    select()는 전부다 찾아주고 ,select_one()은 가장 위에있는 하나를 찾아준다.

    select()로하면 리턴 객체가 ResultSet이되고 select_one()을하면 tag객체를 리턴해준다

     

     

     

    2.find()

    find()는 html 문서에서 원하는태그를 찾아주는것인데 select와 사용법만다르고 비슷한거같다

    얘도 tag객체를 리턴해준다

    #이련식으로 쓰는데 select보다 불편한거같기도하다.
    trs = soup.find(id='body-content')
    
    
    #자식태그를 찾으려면 아래와같이 해야하는거 같다
    
    trs = soup.find(id='body-content').find('a') 
    #id가 body-content인 태그를 찾고 그 html에서 a태그를 찾아라

    3.decompose()

    찾은 태그를 지워주는 메소드이다

    # trs가 <h1>안녕<span>하세요</span></h1>일때, decompose()를 하게되면<h1>안녕</h1>이렇게 바뀐다
    trs.find('span').decompose()

    'programming > Python' 카테고리의 다른 글

    맥북 vscode에서 pip install 안될 때  (0) 2023.04.06
    [Flask] flask프레임워크(웹프레임워크)  (0) 2022.11.17
    [pymongo]pymongo패키지 사용하여 mongodb연결 및 사용법 요약  (0) 2022.11.17
      'programming/Python' 카테고리의 다른 글
      • 맥북 vscode에서 pip install 안될 때
      • [Flask] flask프레임워크(웹프레임워크)
      • [pymongo]pymongo패키지 사용하여 mongodb연결 및 사용법 요약
      worldint
      worldint
      공부한 내용들, 트러블 슈팅 용 블로그

      티스토리툴바