웹 스크래핑을 시작해보자.
- 웹 스크래핑? 웹 페이지에서 내가 원하는 부분만 추려서 가져오는 것
- 웹 크롤링? 어떤 페이지에서 링크를 따라가면서 모든 내용을 가져오는 것.
웹 페이지를 구성하는 3가지
HTML / CSS / Javs script (JS) => 페이지 : 뼈대 / 꾸미기 / 기능 구현, 실현
HTML (Hyper Text Markup Language)
<HTML>
<HEAD> ... </HEAD>
</HTML>
XPath (XML Path Language)
문서의 구조를 통해 경로(Path)위에 지정된 구문을 사용하여 항목을 배치하고 처리하는 방법을 기술하는 언어
HTML내에서 특정 값의 위치/경로를 표현하는 언어.
ex) 크롬 브라우저에서 네이버를 들어간 후, 개발자 도구 (F12)를 연다.
특정 위치 확인 후 Copy -> Copy XPath를 누르면 해당 위치를 알 수 있는 값을 받게 된다.
- 해당 XPath 값 - //*[@id="query"]
Requests
파이썬에서 사용하는 웹 페이지 정보 가져오는 라이브러리
파이썬 설치 후, 이 라이브러리가 없을 경우 pip install requests 를 이용해서 다운로드한다
[내용 설명]
네이버에서 html 내용을 가져온 후,
응답 코드 확인해서 그 내용을 파일로 만들기
import requests
res = requests.get("http://naver.com")
print("응답 코드 : ", res.status_code) # 200이면 정상, 403: 접근권한이 없다
# 제대로 못 가져올 경우 에러 발생
res.raise_for_status()
print("Keep going.")
# requests.codes.ok : 정상
if res.status_code == requests.codes.ok:
print("OK")
else:
print(f"No. Error Code : {res.status_code}")
# 받은 응답 (html)을 파일로 생성하기
with open("ex.html", "w", encoding="utf8") as f:
f.write(res.text)
'프로그래밍&IT > 파이썬' 카테고리의 다른 글
[파이썬] 웹 스크래핑.5 - Selenium 기본 (0) | 2021.10.25 |
---|---|
[파이썬] 웹 스크래핑.4 - CSV 기본 (0) | 2021.10.24 |
[파이썬] 웹 스크래핑.3 - BeautifulSoup4 - 2. find_all [+ http 메소드:get,post] (0) | 2021.10.23 |
[파이썬] 웹 스크래핑.3 - BeautifulSoup4 - 1. 설치 및 기본적인 찾기 (0) | 2021.10.22 |
[파이썬] 웹 스크래핑.2 - 정규 표현식 (regular expression) (0) | 2021.10.21 |