18. BeuatifulSoup4 설치 및 예제 홈페이지 스크래핑 해보기
2018. 12. 30. 04:12
프로젝트명 : web_scraping_study_no1
html : example.html
py : web_scrapping_example.py
지난시간에 배운 HTML 기본코드를 바탕으로 py.파일을 생성하고 인터프리터에 beautifulsoup를 추가해보자.
BeautifulSoup4 설치하기
아직 라이브러리를 설치하지 않아서 빨간줄이 뜬다.
- BeuatifulSoup 설치하기 *프로젝트를 새로 생성함과 동시에 가상환경을 만드므로, 인터프리터는 새로운 상태임(anaconda꺼 선택도 가능)
- file > setting ( Ctrl + Alt + S ) > Project > Project Interpreter > 우측 초록색 + 버튼 >
> beautifulsoup4( 그냥 beautifulsoup 아님!!!) > install package
bs4를 사용하여 example.html 스크래핑 해보기
html 객체에 예제 html코드를 넣어야하는데, 이 때 사용되는 것이 작은 따옴표 3개(''')이다.
이안에다가 여러줄의 String을 하나의 String으로 입력할 수 있다.
원래는 서버의 홈페이지에서 받아와야하는 html코드인데 ,여기서만 예시로 하는 것이다.
# 서버에서 받은 html코드를 이용하여 BeautifulSoup객체를 만드는데,
# 받아올 때 필요한 양식이 "lxml"이며, 인스톨이 필요하다
- lxml 패키지 설치
- 이제 이 soup 객체에서 body만 꺼낼 수 있다.
- 다음으로 body안에서 h1만 꺼낼 수 있다
뒤에 .text를 붙히면 h1태그안의 텍스트만 꺼낼 수 있다. - 다음으로 body태그안에 table을 꺼내보자.
- table은 특별히 thead와 tbody 태그를 나누어줬었다.
tbody안에도 여러개의 tr(줄)이 존재했다. 여러개의 태그를 받을 때는 .find_all('태그명') 으로 받아온다.
tbody안에 tr들을 리스트로 받고,
리스트를 이용한 for문으로 각 tr(줄)에 존재하는 여러개의 td(칸)들 중 첫번째 칸만 확인해보자.
뒤에 .text를 붙히면 태그안의 문자열만 가져올 수 있다.
'빅데이터 관련 프로그래밍 > Python3 기초 및 업무자동화' 카테고리의 다른 글
20. [ selenium의 webdriver() / implicitly_wait() / WebDriverWait() + EC + By ==> bs4 ]를 이용한 연결된 페이지를 타고가서/기다렸다가 ==> 추가정보를 scrapping하는 crawling (0) | 2019.01.03 |
---|---|
19. requests.get('')으로 url속 html 받아온 뒤 -> bs4를 이용한 < 해당페이지 scrapping > (0) | 2019.01.01 |
17. 웹스크래핑 시작하기 - HTML 이해 / CSS from bootstrap (0) | 2018.12.30 |
16. pandas를 이용해 차트그리기 (1) | 2018.07.11 |
15. pandas로 excel파일 읽고 / 쓰기 (0) | 2018.07.09 |