- 파이썬 웹 크롤러 관련 작업 중 발생
웹사이트에서의 크롤러 또는 자동화 도구의 차단
동일한 기기의 판단 기준이 IP가 아닌 User-Agent 라면, 차단 우회 방법으로 User-Agent 값을 변경하며 요청.
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36' }
- pip install fake-useragent
fake-useragent 사용시 다음과 같은 오류가 발생한다면 아래와 같이 처리한다.
fake-useragent 모듈 패키지의 소스코드 파일 중 utils.py의 코드 내용 중
w3-table-all notranslate
ws-table-all notraslate
위 빨간색 라인을 파란색 라인과 같이 변경한다.
그러나 위 방법은 근본적인 해결책이라기보다는 임시 방편에 가까우므로 아래 코드를 추가한다.
use_cache_server 옵션은 fake-useragent 모듈에서 w3schools.com 와 같은 사이트에서 실시간으로 파싱하지 않고, fake-useragent에서 사용하는 heroku 서버에 등록해둔 캐시를 가져다 사용하게 한다.
참고 : https://domdom.tistory.com/329
[크롤링] 파이썬 크롤링 시 기기 차단 우회하기 (fake-useragent 사용법/user-agent 사용법)
개요 파이썬에서 웹 크롤러를 만들 때 가장 큰 어려움은 역시 웹 사이트에서의 크롤러 또는 자동화 도구의 차단인 것 같습니다. 이런 경우 보통 time.sleep(3) 과 같이 몇 초간 크롤러를 쉬도록 하는
domdom.tistory.com
호출 함수명 가져오기 (0) | 2022.10.17 |
---|---|
requests 라이브러리 (0) | 2022.06.28 |