"사용자 에이전트"(user agent) 라는 용어의 의미는 '사용자를 대표하는 컴퓨터 프로그램으로, 웹의 맥락으로 보았을 때 브라우저를 의미한다.
브라우저 외에도 웹 페이지를 긁어가는 봇, 다운로드 관리자, 웹에 접근하는 다른앱도 사용자 에이전트입니다.
[https://developer.mozilla.org/ko/docs/Glossary/User_agent]
접하게 된 경로
파이썬의 외장 모듈인 Requests 모듈을 사용할 때 웹에 존재하는 HTML 정보를 받아들여 사용하는 경우가 굉장히 많다.
하지만 모든 HTML 정보에 대해서 접근할 수 있는 것은 아니기 때문에 따로 header를 지정해줘야 하는 경우가 생긴다.
이 때 User Agent를 지정해 줌으로써 해당 문제를 해결하였는데 이러한 과정에서 나는 User Agent라는 개념을 알게 되었다.
>>> headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"}
>>> req = requests.get(section, headers=headers)
주의 해야 할 점
일부의 사람들은 이를 악용하는 사례가 있다고 한다.
예를 들어, <스팸 봇, 다운로드 관리자, 일부 브라우저>는 자신의 정체를 숨기고 다른 클라이언트인 척 하고 가짜 사용자 에이전트 문자열을 보내곤 하며, 이를 사용자 에이전트 스푸핑(spoofing)이라고 하는데 이와 같은 행위를 통해 악용하는 사례는 없어야 한다.
'Python > Knowledge' 카테고리의 다른 글
[Python] 크롤링이 무엇인가? (1) | 2021.12.31 |
---|