반응형
방금 내가 겪은 일이어서 정보 공유 차원으로 올려본다.
가끔씩 파이썬으로 크롤링을 하면서 분명 URL을 제대로 입력했는데도 불구 웹의 내용을 가져올 수 없는 경우가 있다.
분명 응답 코드는 200인데 말이다(가끔씩 응답 코드 403을 내보내는 경우도 있다).
이럴 경우에는 유저 에이전트를 헤더에 추가시켜주면 된다.
유저 에이전트는 https://namu.wiki/w/%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8
이 곳에서 참고하자. 내용이 잘 정리되어 있다.
그럼 바로 알아보자.
일단 가짜 유저 에이전트를 가져오는 방법이다. PyPI에 fake-useragent라 하여 가짜 유저 에이전트를 생성해주는 라이브러리가 있다.
https://pypi.org/project/fake-useragent/
1
|
pip install fake-useragent
|
cs |
그럼 어떻게 쓸까?
1
2
3
4
|
from fask_useragent import UserAgent
ua = UserAgent()
print(ua.random)
|
cs |
이렇게 하면 랜덤한 유저 에이전트가 생성된다. chrome으로 하고 싶으면 chrome을 random 대신 넣어도 된다. 다른 웹브라우저도 마찬가지.
유저 에이전트를 헤더에 추가해 보자. requests 모듈을 기준으로 올려 보겠다.
1
2
3
4
5
|
import requests
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2224.3 Safari/537.36'}
res = requests.get('https://tistory.com/', headers=headers)
|
cs |
이렇게 추가해주면 된다.
끝!
반응형
'프로그래밍 > Python' 카테고리의 다른 글
Pyinstaller에서 PyQt .ui 파일을 포함해 빌드해야 할 때 (9) | 2020.04.12 |
---|---|
인터파크 티켓팅 매크로 코드 공유 (11) | 2020.04.11 |
인터파크 티켓팅 매크로 제작 (15) | 2020.03.02 |
파이썬으로 파일 이진수로 변환하기 (0) | 2020.02.15 |
Word Search 학습지 제작기 공유 (0) | 2019.12.14 |
댓글