일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 웹크롤링
- 파이썬딕셔너리
- java 예외
- 파이선
- 파이썬크롤링
- 파이썬 github
- Java
- 파이썬람다함수
- 파이썬크롤링설치
- 파이썬try
- 파이썬예외
- 파이썬 sqliite
- 알고리즘공부
- 북리뷰
- 파이썬강제예외
- 컬렉션프레임워크
- 파이참github연결
- 이것이코딩테스트다
- 파이썬웹크롤링
- hashpmap
- 파이썬
- 파이참가상환경
- 포토샵기초
- 장고 sqlite
- 이터레이터 제네레이터
- Django sqlite3
- BeautifulSoup
- git.exe
- 파이썬가상환경
- java 컬렉션 프레임워크
- Today
- Total
박미미의 지식에서 쌓는 즐거움
파이썬:: 웹크롤링을 위한 BeautifulSoup 연습 본문
BeautifulSoup 은 파이썬으로 웹크롤링을 위한 라이브러리이다.
기본적인 기능과 연습을 해보자.
BeautifulSoup의 커뮤니티는 아래 링크를 클릭하면 된다. 안에 설명과 예제가 나와있으니 확인해보도록 해요. (물론 영어로 된 사이트;;)
https://www.crummy.com/software/BeautifulSoup/
우선 간단한 html 코드를 작성해보자.
연습을 위한 코드는 아무렇게나...
<html><head><title>BeautifulSoup 연습</title></head> <a><b class="hickory">Hickory</b> and <b class="lime">Lime</a></html> |
이 html 코드로 라이브러리 연습을 할 예정입니다.
from bs4 import BeautifulSoup doc = ['<html><head><title>BeautifulSoup 연습</title></head>', \
#태그 정렬해서 보여주기 |
결과
1. 정규식을 이용해서 't'로 시작하는 태그 가져오기
import re #정규표현식 tagStartingWithT = soup.find_all(re.compile("^t"))print( [tag.name for tag in tagStartingWithT] ) |
결과
['title'] |
2. 'title'과 'p'태그만 가져오기
print(soup.find_all(['title', 'p'])) |
결과
[<title>BeautifulSoup 연습</title>, <p align="center" id="first">파이썬 웹크롤링 연습 <b>one</b></p>, <p align="blah" id="second">Python <b>two</b></p> |
3. Lambda 함수 이용해서 태그 속성이 2개 인것만 출력
print( soup.find_all(lambda tag:len(tag.attrs) ==2) ) |
결과
<p align="center" id="first">파이썬 웹크롤링 연습 <b>one</b></p>, <p align="blah" id="second">Python <b>two</b></p> |
print( soup.find_all(id=re.compile("rst$")) ) |
결과
<p align="center" id="first">파이썬 웹크롤링 연습 <b>one</b></p> |
5. <b>태그 중에 class = lime 인 것 찾기
print( soup.find("b", attrs={"class":"lime"})) |
결과
<b class="lime">Lime</b> |