본문 바로가기
● 크롤링, 자동화/BeautifulSoup

[나도코딩] 파이썬 코딩 무료 강의 (활용편3) - 웹 크롤링? 웹 스크래핑! 1 : HTML, X-Path, Request, re(정규식)

by 0ver-grow 2020. 8. 26.
반응형

크롤링 : 웹에서 허용된 링크를 따라가면서 마주잡이로 끌어옴

스크래핑 : 필요한 것만 뽑는 것

 

HTML : 집의 골격

CSS : 인테리어, 예쁘게

JS : 내부 생활, 생동감있게

 

웹 스크래핑을 보면서 반드시 HTML의 골격, 구조를 이해해야만 한다.

 

HTML에 대해 알아보자

Hyper Text Markup Language

 

코드에 입력된 url => 브라우저로 접속
다음으로 클릭하면 기본설정된 브라우저로 실행

X Path에 대해 알아보자

unique한 값으로 간편하게 찾는 경로를 의미함

 

1. 전체 경로를 써서 찾는 경우

왜냐? 비슷한 태그, 엘리먼트 중 어떤 것을 지칭하는지 명확하게 하기 위함

위처럼 특정하기 위해서 길게 쓰는 경우도 있지만

 

2. 클래스,id 속성 등의 unique한 특징으로 찾는 경우

unique한 값으로 줄여서 쓰는 경우도 있다.

Unique값으로 바로 찾을 수 있다.

일반적으로는 id, class속성으로 특징으로 간편하게 줄일 수 있다. 이것이 바로 X Path

 

Request

원하는 페이지로 접속한 뒤 정상적으로 정보를 받았는지 확인하고 파일로 만들어보자.

 

터미널창

pip install requests

 

import requests
res = requests.get("")
print("응답코드 :", res.status_code) # 200이면 정상, 올바르게 url을 가져왔음

res.raise_for_status() #오류가 있으면 바로 프로그램을 끝냄
print("웹 스크래핑을 진행합니다.")

위 코드를 줄이면 다음과 같이 된다

import requests
res = requests.get("http://naver.com")
res.raise_for_status() #오류가 있으면 바로 프로그램을 끝내고 없으면 스크래핑 진행

 

추가로 가져온 코드를 html 파일로 만들어보자 

import requests
res = requests.get("http://google.com")
res.raise_for_status() # 오류가 있으면 바로 프로그램을 끝내고 없으면 스크래핑 진행

# 위 url에 수집된 코드를 출력해보자
print(len(res.text))
print(res.text)

# 수집된 코드(res.text)를 html파일로 저장해보자
with open("mygoogle.html", "w", encoding="utf-8") as f :
	f.write(res.text)

정규식 Regular Expression

줄여서 re

정해진 형태의 식

주민번호/이메일 형태를 생각해보면 좋다

int 형태의 주민번호 ****** - *******

str 형태의 이메일 abcd@naver.com

 

IF 조건문으로 만들어보자

조건문을 함수로 만들자

55:00

반응형