본문 바로가기
코딩/파이썬

[파이썬 크롤링] 03 - requests

by 일호15 2023. 1. 3.

안녕하세요!

글을 쓰는 지금은 2023년 새해가 밝은 시점인데요.

지금의 저는 감회가 새로우니, 우리 다함께 requests에 대해 알아보겠습니다.

 

from bs4 import BeautifulSoup
import requests

url = 'https://dlfgh15.tistory.com/category/%ED%8C%8C%EC%9D%B4%EC%8D%AC%20%EC%B2%AB%EA%B1%B8%EC%9D%8C%3A/a%20%3D%20%27%EA%B0%9C%EB%85%90%27'
selector = 'div.inner span.title'  #HTML과 CSS를 알아야 제목 정보를 고를 수 있다.

R = requests.get(url)
B = BeautifulSoup(R.content, 'html.parser')
titles = B.select(selector)

for title in titles:
    print(title.get_text())

크롤링 개요 포스팅에서 소개한 코드입니다. 이를 하나하나 뜯어보겠습니다. 오늘은 requests!

 

>> [파이썬 크롤링] 01 - 개요

 

 

1 import requests

더보기

 

requests는 파이썬 라이브러리이고요. 사용하시려면 설치가 필요합니다! 설치 방법은 제가 글을 쓰고있는 시점에서와 달라질 가능성을 고려하여, 검색을 통해 설치해주시면 되겠습니다!

 

이건 바뀔 것 같지 않으니.. 터미널/콘솔창에 pip install requests 입력해주시면 됩니다!

 

이 requests를 사용하기 위해 코드 최상단에 import requests를 작성하여 호출한 모습입니다.

 

 

2 requests는 무엇을 하는가

더보기

 

우리가 컴퓨터로 네이버에 접속한다고 해보죠. 인터넷을 켜고 네이버 주소를 입력하면 창에 화면이 뜨는데요. 방식은 다음과 같습니다.

 

나 : 네이버님 접속요청합니다

네이버 : 네 HTML 파일 드릴게요

나 : 오 화면 떴어요 감사합니다

 

대략 이런 느낌인데요. 네이버 서버에서 데이터 요청을 받고, 데이터를 넘겨주면 그제서야 우리는 그 데이터를 화면으로 만나볼 수 있게 되는 것이에요.

 

자 그런데, 우리는 파이썬 크롤링을 하면서 인터넷 창을 켜지도 않은 채로 작업을 진행하는데요. 여기에는 requests의 역할이 숨어있습니다. requests가 주소에 접속요청을 하여, 해당 서버에서 HTML 데이터를 받아오는 것이죠. 인터넷만 연결되어있다면 말이죠..후후

 

 

3 res = requests.get(url)

더보기

 

자 이제 실제로 정보를 받아와볼까요. 파이썬 프로그램 켜시고 다음 코드를 작성하여 실행해보세요. 동작이 안된다면, 아직 requests 라이브러리가 설치되지 않은 것입니다! 복사 붙여넣기를 하지 않으시고 직접 작성하셨다면 오타는 없는지 확인해보시기 바랍니다.

 

import requests

R = requests.get("https://www.naver.com")
print(R)

 

글을 작성하고 있는 이 시점에서 코드를 돌려본 결과, 저는 <Response [200]> 이라는 결과가 떴는데요. 나중에는 다른 결과가 출력될지 모르겠지만, 어쨌든 뭔가 받아왔다는 것은 확실하네요.

 

 

 

4 res.content

더보기

 

이번에는 다음 코드를 돌려보겠습니다. 직전 코드를 조금 변형한 것이니 직접 써보시는 것도 좋을 것 같아요.

 

import requests

R = requests.get("https://www.naver.com")
print(R.content)

 

 

실행 결과가 조금 어지럽죠? 하나 확실한 건, 뭔가 한걸음씩 나아가고 있다는 것이에요. HTML에 대해 알고 계시다면, 뭔가 조금 보일수도 있을 것 같아요. 이 실행의 결과가 HTML 코드를 의미하기 때문이에요. 하지만 이는 구조적인 정보가 아닌 문자의 나열이기 때문에 추가적인 조작이 필요합니다. BeautifulSoup이 이를 도와줄 것이고요!

 

 

나랏말쌈이 듕귁에달아 . .
나랏말쌈이 듕귁에달아 . .

 

requests는 여기까지입니다. 알고보면 속은 따뜻한 친구일지도 모르겠네요.

 

다음 글 >> [파이썬 크롤링] 04 - BeautifulSoup

반응형

'코딩 > 파이썬' 카테고리의 다른 글

[파이썬 크롤링] 05 - select, select_one  (0) 2023.01.31
[파이썬 크롤링] 04 - BeautifulSoup  (0) 2023.01.16
[파이썬 크롤링] 02 - HTML/CSS  (0) 2022.12.17
[파이썬 크롤링] 01 - 개요  (0) 2022.12.02
파이썬 딕셔너리  (0) 2021.09.13

댓글