Appia의 IT세상

Python[파이썬 웹크롤러] 01-WebCrawler 웹사이트 접속 확인하기(requests) 본문

Python/Python Crawler[크롤러]

Python[파이썬 웹크롤러] 01-WebCrawler 웹사이트 접속 확인하기(requests)

Appia 2020. 7. 14. 07:18
반응형

Python[파이썬 웹크롤러] 01-WebCrawler 웹사이트 접속 확인하기(requests)

 

일단 앞서 포스팅에 이어서 웹크롤러 관련해서 작성을 해볼까 합니다. 간단하게 웹사이트 접속을 확인하는 코드를 작성해보겠습니다. 우선 웹사이트에 접속을 할 때는 get()명령어를 통해서 접근을 합니다. url주소를 get()명령어를 통해서 웹사이트에 접속할 수 있습니다. 물론, 웹브라우저에서 그대로 표시를 해주지는 않지만, 이 부분을 통해서 사이트가 정상인지에 대해서는 확인이 가능합니다. 

import requests as rq
 
url = "https://naver.com"
 
rq.get(url)
cs

위의 코드를 실행하면 아무런 결과를 얻을 수 없습니다. 그럼 정상인지 확인하기 위해서는 몇가지 추가적인 부분에 대한 작업이 요구됩니다. 그럼 다음과 같이 코들 수정해보겠습니다. 

import requests as rq
 
url = "https://naver.com"
 
result=rq.get(url)
 
print(result)
cs

위의 결과를 실행하면 다음과 같은 결과가 나타납니다. 

<Response [200]>
cs

requests.get()을 통해서, 사이트가 응답하는 응답 코드를 반환해줍니다. 그럼 제가 접속할 수 없는 사이트에 한번 위와 같이 접속해서 결과를 한번 살펴보겠습니다. 

import requests as rq
 
url = "https://naver.com/11"
 
result=rq.get(url)
 
print(result)
cs

위의 결과를 실행하면 다음과 같은 결과가 나타납니다. 

<Response [404]>
cs

그럼 위의 result 부분을 한번 디버깅해봤습니다. 어떤 부분들을 가져올 수 있는지에 대해서 확인해보기 위해서이죠. 여기에서 content, text 부분을 선택할 수 있습니다. 그리고 Headers 부분 또한 확인할 수 있습니다.  

여기에서 일단, status_code로 확인이 가능합니다. 그럼 다음과 같이 진행이 가능합니다. 그럼 다음과 같이 코드를 한번 작성해보겠습니다. 

import requests as rq
 
url = "https://naver.com"
 
url1 = "https://naver.com//1"
 
result=rq.get(url)
 
result1=rq.get(url1)
 
print(result)
 
print(result.status_code)
 
print(result1)
 
print(result1.status_code)
cs

위의 코드 결과는 다음과 같은 결과가 나옵니다. 

<Response [200]>
 
200
 
<Response [404]>
 
404
cs

그럼, 여기에 조건문을 추가로 코딩하여 정상사이트인지 여부를 한번 확인해보겠습니다. 앞서서 보시다시피, status_code가 200일 때, 정상입니다. 그리고 status_code가 404일 때는 url에 있는 사이트가 문제가 있는 사이트입니다. 

import requests as rq
 
 
def check_site(url):
 
    fresult=rq.get(url)
    
    if fresult.status_code == 200:
    
        print("Correct Site : "+ url )
        
    elif fresult.status_code == 404 :
    
        print("problem Site: "+ url)
 
 
if __name__ == "__main__":
 
    check_site("https://www.naver.com")
    
    check_site("https://www.naver.com//1")
cs

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. 

Correct Site : https://www.naver.com
 
problem Site: https://www.naver.com//1
cs

 

이와 같이 작업을 진행할 수 있습니다. 이 부분을 바탕으로 헤더를 가져온다던지 다양한 부분을 할 수가 있습니다. 그런 부분에 대해서는 차차 하나씩 살펴보도록 하겠습니다. 

 

이번 포스팅에서는 Python[파이썬 웹크롤러] 01-WebCrawler 웹사이트 접속 확인하기에 대해서 한번 살펴봤습니다. 간단하지만, 자주 활용할 수 있는 부분입니다. 혹시 궁금하신점이나 문의 사항 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다. 

반응형
Comments