IT기술/Python

파이썬 크롤링 안될 때 해결방법 공유

every7hing 2021. 6. 18. 23:11
반응형

 

안녕하세요. 오늘은 파이썬 크롤링에 대한 내용을 공유 하겠습니다. 
파이썬을 통해 
크롤링(Crawling)을 진행할 때, 코드 오류가 아닌데도 제대로 동작하지 않아 시간을 낭비하는 경우가 많습니다. 그럴 경우 체크해봐야 할 부분들이 있습니다. 아래 체크리스트를 한번 확인해보시기 바랍니다.

 

파이썬 크롤링 안될 때 해결방법 공유

 

<원문 출처=every7hing.com>

파이썬 크롤링 안될 때 체크리스트

    1. 연결성(Connection) 체크
      먼저, 크롤링하고자 하는 대상 URL 또는 IP에 대한 연결성을 다시 한번 체크해보시는 추천드립니다. 간혹, 코드에 이상이 없는데도 불구하고 Connection 오류로 인해 많은 시간을 낭비하는 경우가 있습니다. 대상에 대해 연결이 제대로 이루어지는지에 대한 확인은 반드시 필요합니다.

  1. 응답 값 체크
    연결이 제대로 이루어지고 있다면, 응답 값 (Response Data)를 직접 확인해야 합니다. 번거롭더라도 해당 값들을 print 함수를 통해 찍어보고, 예상한 응답 값인지를 체크할 필요성이 있습니다. 언제나 우리가 예상하는 응닶 값이 올 것이라고 예측하는 것은 굉장히 위험합니다.
  2. Header의 User-Agent 값 체크
    이 부분이 가장 많이 이슈가 되는 부분입니다. 대부분의 간단한 크롤링 코드에서는 Request 요청을 할 때, Header값을 명시적으로 추가하지 않는 경우가 많습니다. 하지만, 몇 몇 서버들은 특정 Header 값이 존재하지 않으면 제대로 된 응답 값을 주지 않는 경우도 있습니다. 특히나 User-Agent 값은 필수로 넣어서 요청하는 것이 크롤링 시, 오류를 줄이는 방법입니다.

 

그리고 아래에 Python Header를 추가할 수 있는 예제 코드를 가져왔습니다. 해당 코드를 참고하시면, User-Agent나 Cookie값을 추가하는데 도움이 될 수 있을 것 같습니다.

 

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)

잘 참고하셔서 즐거운 코딩하시기 바랍니다!

 

이런 글은 어때요?

반응형