Python 웹 스크래핑

Python으로 웹에 있는 자료들을 스크래핑 하는 방법을 알아봅니다.


수강중

12. User Agent

User-Agent란 직역하자면 '사용자의 대리인', 즉 웹 브라우저(크롬, 파이어폭스 등)를 의미한다. 브라우저는 웹 사이트에 접속할 때 브라우저의 종류, 버전 등을 User-Agent라는 이름으로 전달한다.

일부 웹사이트에서는 기존의 웹 브라우저가 아닌 경우 접속을 차단하는 경우가 있다. 이때는 기존 웹 브라우저의 User-Agent 정보를 전달하면 된다.

import requests
import lxml.html

onoffmix.com에 접속을 시도하면 상태 코드가 500이 발생한다.

requests.get('https://onoffmix.com')
<Response [500]>

상태 코드 500의 의미는 "내부 서버 오류"를 나타낸다. 웹 브라우저로는 정상 접근이 가능하므로 실제로는 서버 오류가 아닌 것을 짐작할 수 있다.

이를 해결하기 위해 일반 웹 브라우저의 User-Agent를 전달해본다. User-Agent 정보는 구글에서 my user agent를 검색하면 알 수 있다.

ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'
requests.get('https://onoffmix.com', headers={'User-Agent': ua})
<Response [200]>