일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 문자열
- win32com
- 파이썬GUI
- 비주얼베이직
- Windows11
- VBA
- 엑셀
- windows
- 윈도우10
- 파이썬3
- Android
- Excel
- 오피스
- pythongui
- 윈도우11
- office
- 파워포인트
- 안드로이드
- 파이썬
- pyqt5
- git
- Windows10
- matlab
- pandas
- Outlook
- python3
- 깃
- html
- 아웃룩
- python
Appia의 IT세상
Python[파이썬 웹크롤러] 01-WebCrawler 웹사이트 접속 확인하기(requests) 본문
Python[파이썬 웹크롤러] 01-WebCrawler 웹사이트 접속 확인하기(requests)
Appia 2020. 7. 14. 07:18Python[파이썬 웹크롤러] 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 웹사이트 접속 확인하기에 대해서 한번 살펴봤습니다. 간단하지만, 자주 활용할 수 있는 부분입니다. 혹시 궁금하신점이나 문의 사항 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Python > Python Crawler[크롤러]' 카테고리의 다른 글
Python[파이썬 웹크롤러] 05-WebCrawler beautifulsoup4(뷰티풀 수프) 웹페이지(HTML)를 파싱하기(Parsing) (0) | 2020.10.24 |
---|---|
Python[파이썬 웹크롤러] 04-WebCrawler beautifulsoup4(뷰티풀 수프)설치하기 (0) | 2020.10.22 |
Python[파이썬 웹크롤러] 03-WebCrawler 사이트의 내용(Html) 읽어오기(requests) (0) | 2020.07.24 |
Python[파이썬 웹크롤러] 02-WebCrawler 사이트의 헤더 읽어오기(requests) (0) | 2020.07.22 |
Python[파이썬 웹크롤러] 00-WebCrawler 크롤러를 위한 모듈 설치 - requests 모듈설치 (0) | 2020.07.12 |