파이썬으로 웹 크롤링을 진행할 수 있습니다 :)
웹 크롤링을 위해서는 먼저 아래 준비단계가 필요합니다.
1. BeautifulSoup 라이브러리 import
BeautifulSoup 라이브러리란?
HTML 혹은 XML 파일에서 원하는 데이터를 손쉽게 parsing (분석)할 수 있게 만드는 라이브러리
from bs4 import BeautifulSoup
|
cs |
2. 데이터 이름 설정
# 예시 1) 직접 내용 타이핑
html = '''
<html>
<head><body>
<h1>스크레이핑이란?</h1>
<p>웹 페이지를 분석하는 것</p>
<p>원하는 부분을 추출하는 것</p>
</body></html>
'''
# 예시 2) 크롤링할 링크 삽입
html = 'https://www.naver.com'
|
cs |
3. Parsing
처음에 import한 BeautifulSoup 라이브러리를 사용해 데이터를 parsing 해줍니다.
# 방법 1)
soup = BeautifulSoup(html, 'html.parser')
# 방법 2)
soup1 = BeautifulSoup(html, 'lxml')
|
cs |
출력 방법
데이터.태그.태그를 출력하고 싶은 부분까지 작성하면 내용이 출력됩니다.
soup.html.body #1) html안에 있는 내용 출력
soup.html.body.h1 # 2) h1안에 있는 내용 출력
|
cs |
결과값:
1)
<body>
<h1>스크레이핑이란?</h1>
<p>웹 페이지를 분석하는 것</p>
<p>원하는 부분을 추출하는 것</p>
</body>
2)
<h1>스크레이핑이란?</h1>
- text / string: 태그 제외하고 글자만 출력
soup.html.body.h1.text # 1)
soup.html.body.h1.string # 1)
soup.html.body.p.text # 2)
|
cs |
결과값:
1)
'스크레이핑이란?'
2)
'웹 페이지를 분석하는 것'
- next_sibling: 다음 줄 출력
soup.html.body.p.next_sibling # 1) 두번째 paragraph 출력 --> '/n'
soup.html.body.p.next_sibling.next_sibling # 2) 세번째 paragraph 출력
soup.html.body.p.next_sibling.next_sibling.text # 3) 세번째 paragraph 글자만 출력
|
cs |
결과값:
1)
'\n'
2)
<p>원하는 부분을 추출하는 것</p>
3)
'원하는 부분을 추출하는 것'
- 요소의 글자 출력하기
h1 = soup.html.body.h1
p1 = soup.html.body.p
p2 = p1.next_sibling.next_sibling
print('h1 = ' + h1.string)
print('p1 = ' + p1.string)
print('p2 = ' + p2.string)
|
cs |
결과값:
h1 = 스크레이핑이란?
p1 = 웹 페이지를 분석하는 것
p2 = 원하는 부분을 추출하는 것
'Python > 머신러닝, 딥러닝' 카테고리의 다른 글
[Tensorflow] Keras를 통한 딥러닝 (ANN - 인공신경망) (0) | 2022.05.13 |
---|---|
KoNLPy 설치 및 한국어 형태소 라이브러리 비교 (0) | 2022.04.29 |
scikit-learn(사이킷 런) 활용하여 정답률 확인하기 (0) | 2022.04.28 |
TensorFlow(텐서플로우) 설치하기 (0) | 2022.04.27 |
[파이썬] 웹 크롤링 후 csv로 저장하기 - Pandas / BeautifulSoup (0) | 2022.04.22 |