[Python] 스크래핑 모듈/webbrowser 모듈, requests 모듈


webbrowser란?

 

webbrowser는 파이썬 기본 내장 모듈로 브라우저로 특정 페이지를 열 때 사용합니다.

import webbrowser
webbrowser.open('https://www.naver.com')

requests란?

requests는 스크래핑에서 활용되는 모듈로, 인터넷에서 파일과 웹페이지를 다운로드하는데 사용합니다.

 

reqeusts모듈을 사용하기 위해서는 설치를 해야합니다.

pip install requests

 

기본 사용법

네이버 주소에 get 요청을 보내면 서버에서는 요청을 받아 처리 후 응답을 줍니다. 응답코드가 status_code입니다. 응답 내용이 req.text의 결과값입니다.

import requests
url = 'https://www.naver.com'
req = requests.get(url)
print(req.status_code) #200
print(req.text)

 

get으로 데이터 보내는방법

import requests

#get
#보내고자하는 데이터를 직접 입력
url = 'https://www.naver.com?key1=vlaue1&key2=value2'
req = requests.get(url)
print(req.status_code) #200
print(req.text)

#딕셔너리를 이용하여 보내기
url = 'https://www.naver.com'
paramas = {'key1':'value1', 'key2':'value2'}
res = requests.get(url,params=paramas)
print(req.status_code) #200
print(res.text)

 

post로 데이터 보내는 방법

import requests, json

#post
url = "https://www.naver.com"
data = {'key3':'value3', 'key4':'value4'}
res = requests.post(url,data=data)

#json을 이용하여 보내기
j_data = {'out':{'in':'value'}}
res2 = requests.post(url, data=json.dumps(j_data))

 

Session()

import requests

#세션은 http 요청과 응답사이에 연결 상태를 유지
#User-Agent 헤더를 추가하여 사람이 접근한 것 처럼
#헤더 설정을 위해 session 객체 생성
session = requests.Session()
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
}
#세션을 통해 get요청 시도
res = session.get('https://www.naver.com', headers=headers)
print(res.text)