HTTP 통신과 라이브러리
HTTP통신으로 get과 post등 여러 가지 요청을 보낼 수 있다.
get은 웹사이트에서 정보를 얻어올 때 사용하고, post는 웹사이트에게 정보를 제공하고 제공한 정보에 따라 응답을 확인하는 과정이다. (회원가입과 유사하다)
파이썬으로 웹 크롤링을 진행할 때 위의 HTTP통신을 수행하기 위해 외장 라이브러리인 Requests를 사용한다.
import requests
response = requests.get('http://www.naver.com')
html = response.text
print(html)
requests.get메서드로 특정 URL을 입력하면, 입력한 URL의 HTML코드를 Python객체로 받아온다.
가져온 정보를 분석하고 사용하기 편한 형태로 가공하기 위해 BeautifulSoup라이브러리를 사용한다.
BeautifulSoup라이브러리로 HTML정보를 분석하고 필요한 부분을 추출해서 활용할 수 있다.
import requests
from bs4 import BeautifulSoup
response = requests.get('http://www.naver.com')
html = response.text
soup = BeautifulSoup(html, 'html.parser')
word = soup.select_one("#NM_set_home_btn")
print(word.text)
BeautifulSoup메서드는 html정보와 html분석해주는 도구를 인자로 받는다.
여기서 html.parser는 분석해주는 도구를 의미하고, 파이썬의 내장 클래스이다.
웹사이트에 사용된 HTML태그를 입력해 해당 태그에 대한 정보를 추출할 수 있다.
미루어 짐작할 수 있겠지만, 웹 사이트의 정보를 추출은 해당 사이트의 HTML을 기반으로 진행된다.
HTML에 대한 이해가 필수적이고, 해당 사이트의 HTML의 구조가 변하면 이전에 만들어 둔 코드도 구조에 따라 바꿔야 한다.
반응형
'낙서장' 카테고리의 다른 글
[HTML] HTML 정리 (3) (0) | 2022.09.14 |
---|---|
시간의화살 블로그 소개 (0) | 2022.08.30 |
[CSS] CSS 정리 (4) (2) | 2022.02.06 |
[CSS] CSS 정리 (3) (1) | 2022.01.21 |
[CSS] CSS 정리 (2) (0) | 2022.01.20 |
댓글
이 글 공유하기
다른 글
-
[HTML] HTML 정리 (3)
[HTML] HTML 정리 (3)
2022.09.14 -
시간의화살 블로그 소개
시간의화살 블로그 소개
2022.08.30 -
[CSS] CSS 정리 (4)
[CSS] CSS 정리 (4)
2022.02.06 -
[CSS] CSS 정리 (3)
[CSS] CSS 정리 (3)
2022.01.21