-
[나도 코딩] 웹 스크래핑 6. User AgentPrograming Language/Python 2020. 11. 9. 17:44반응형
웹 스크래핑
User Agent
이 글은 나도코딩님의 [파이썬 코딩 무료 강의 (활용편 3)]을 보고 공부한 내용입니다.
1. User Agent 이해하기
User Agent란?
-
웹 사이트에서는 접근하는 사용자의 정보
-
기기/브라우저별로 지원정보가 나와있어서 어떤 기기를 이용해서 접근하는지를 알 수 있음
-
스마트 폰에서 접속 -> 모바일 용 접속
-
웹에서 홈페이지 접속 -> 웹사이트 용 접속
-
웹 스크래핑을 할 때, 접근이 불가능한 경우가 발생하는 이유?
-
접속하는 브라우저에 따라서 유저 에이전트가 다름
-
ex) 같은 컴퓨터 내에서도 크롬, 인터넷 익스플로러의 유저 에이전트가 다름
-
-
컴퓨터가 웹스크래핑을 할 때, 홈페이지 입장에서 많은 정보를 빼갈 수도 있기 때문에 접속을 차단할 수 있음
-
서버 입장에서 유저 에이전씨를 확인해서 정보를 제한적으로 보여줄 수도 있음
-
User Agent를 활용해서 사람 or 컴퓨터가 무작위로 접속하는 것인지를 판단함
접근 권한이 있는 경우 접근 권한이 없는 경우 - res.raise_for_statues()
- 에러가 발생하지 않음
- html 파일로 스크래핑 자료가 잘 저장됨
- res.raise_for_statues()
- 에러가 발생하여 파일이 저장되지 않음
- 파일이 저장이 되어도 스크래핑된 자료가 깨져있음
=> User Agent를 활용해서 해결할 수 있음
2. User Agent 설정하기
2.1 접근 권한이 있는 경우 웹 스크래핑하기
코드
import requests res = reques.get("https://data-ssung.tistory.com") res.raise_for_status() with open("data-ssung.html", "w", encoding="utf8") as f: f.write(res.text)
2.2 접근 권한이 없는 경우 웹 스크래핑하기
- 나의 User Agent 값 확인하기
- 크롬에 [What is my User Agent] 검색
- www.whatismybrowser.com/detect/what-is-my-user-agent
코드
import requests url = "https://data-ssung.tistory.com" headers = {"User-Agent" : "My User-Agent 값 넣기"} res = requests.get(url, headers=headers) res.raise_for_status() with open("data-ssung.html", "w", encoding="utf8") as f: f.write(res.text)
이 글은 나도코딩님의 [파이썬 코딩 무료 강의 (활용편 3)]을 보고 공부한 내용입니다.
반응형'Programing Language > Python' 카테고리의 다른 글
[Python] python 실행하기 (0) 2021.02.28 [Python] 주피터 노트북 경로설정 & 절대경로 상대경로 (0) 2020.12.12 [나도 코딩] 웹 스크래핑 6. 정규식 기본 2 (0) 2020.11.05 [나도 코딩] 웹 스크래핑 5. 정규식 기본 1 (0) 2020.11.04 Visual Studio code에서 Requests 패키지가 설치가 안될 때 (0) 2020.11.03 -