Skip to content
조회 수 1473 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

파이썬 Beautifulsoup 웹크롤링 차단시 해결방법

 

크롤링이 차단되었다면 유저 에이전트(User Agent)를 지정해보자

 

크롤링을 하다 보면 종종 페이지에서 아무것도 받아오지 못해서 막히는 경우가 생깁니다.

서버에서 차단을 당했기 때문입니다. 

 

서버는 User Agent 검사 등의 방법으로 일반 사용자(사람)와 봇을 구분하여 차단할 수 있습니다. 

 

가장 쉬운 방법은 Header에 User Agent 정보를 만들어서 보내는 겁니다.

 

 

유저 에이전트란

브라우저가 웹사이트에 연결을 시작할 때 전달되는 기기 정보로 브라우저의 유형, 운영체제 등의 정보가 담겨있습니다. 예를 들면 다음과 같이 생겼습니다.

 

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36

 

유저 에이전트를 담아서 get 요청보내기

url = '웹페이지 주소'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')

 

user-agent 값에 어떤 문자열을 넣어야 할지 모르겠다면 http://www.useragentstring.com/에 들어가서 본인의 정보를 확인하고 그대로 붙여 넣어도 무방합니다.

 

로그인 후 댓글쓰기가 가능합니다.

?

  1. XE file cache 활용

  2. 아파치 mod_cache mod_disk_cache 알아보기

  3. MP3 소리 크기 조절 프로그램

  4. XE 반응형 모바일 메타태그 삽입하기

  5. 구글 스프레드시트 설문지 내맘대로 수정하기

  6. 스프레드시트 api append & update php 셀 내용 수정

  7. Google SpeadSheet 조건에 맞는 데이터만 참조하여 가져오기(importrange, Query)

  8. 구글 드라이브에서 다른 파일 데이터 참조하기

  9. mysql 16CPU / 16GB My.cnf

  10. 도스에서 텍스트 파일 치환

  11. mysql 테이블 손상시 #1146 - Table 해결방법

  12. xe 타이틀 게시판 이름 없애기

  13. 스프레드 웹게시로 불러오기

  14. 서버 부하상태 체크

  15. XE Content font-size:수정방법

  16. XE <title>제목 - 사이트명</title> 으로 변경방법

  17. XE 리퍼러 모듈로 트래픽 발생에 대처방법

  18. ECS P43T-AD3, Asus C381GM, Driver(두번째 사용했던 서버 드라이버)

  19. XE 스케치북 모바일 비회원 댓글쓰기에서 홈페이지 이메일 기입란 삭제하기

  20. XE 어느날 갑자기 다운로드가 되지 않을때 해결방법

Board Pagination Prev 1 ... 9 10 11 12 13 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소