#연구/#Python

파이썬 웹 크롤링 헤더 값 추가 방법 #웹 크롤링이 안될 때

every7hing 2021. 6. 2. 00:10
반응형

 

#파이썬 웹 크롤링 헤더 값 추가 방법 

#웹 크롤링이 안될 때

#Python 크롤링 헤더 값 추가

 

안녕하세요. 오늘은 파이썬으로 웹 크롤링 할 때 주의점과 헤더 값을 추가하는 방법에 대해서 공유하려고 합니다. 흔히 파이썬을 공부하면서 웹 크롤링은 많이들 접하는 부분입니다. 파이썬으로 웹 크롤링을 하면 생각보다 짧은 코드로 원하는 결과를 빠르게 얻을 수 있기 때문이죠.

하지만, 단순 웹 요청을 하다보면 어느 순간 잘 나오던 응답 값이 나오지 않는 경우가 있습니다. 코드가 바뀐것도 아니고, 서버가 바뀐것도 아닌데 말이죠.

 

Web Crawling

 

이럴 때는, HTTP 요청에 헤더 부분을 추가해줘야 할게 있습니다.

바로 User-Agent 값인데요. 요즘의 대부분 서버들은 이 User-Agent 값이 없으면 응답 값을 내주지 않는 경우가 있거든요.

그래서 이런 부분들을 모르고 있을 때는, 참 많은 시간을 이것을 해결하는 것에 시간을 보낼 수도 있는거죠.

 

그렇다면, 이제 파이썬을 통해 웹 크롤링 시, 헤더 값을 추가하는 방법에 대해서 알아봐야겠죠?

코드는 정말 간단합니다. 

 

request 라이브러리로 요청 시에, headers값만 추가해주면 되는데요.

바로 아래 예제 코드를 통해 그 방법을 공유하겠습니다!

headers = {
"User-Agent":
"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36"
}
payload = {'param1': '1', 'param2': '2'}
r = requests.get("https://example.com, params=payload, headers=headers)

 

위 코드를 보시면 아시겠지만, 기본적인 웹 페이지 크롤링 코드에 headers 값이 추가 된 모습입니다. headers의 값은 User-Agent이고 User-Agent의 값은 우리가 일반적으로 사용하고 있는 웹 브라우저의 User-Agent 중 하나라고 보시면 됩니다.

자 어떤가요?

이 간단한 코드 추가만으로도 크롤링 되지 않던 사이트에서 응답 값이 제대로 가져와지나요?

그렇다면 성공하신겁니다!

 

이런 글은 어때요?

 

반응형