파이썬(Python)/웹스크롤링

[Python] Request Post Get 함수 사용법 및 예제 실습

끄적끄적아무거나 2022. 6. 20. 09:11
반응형

 

목차

     

     

     

    이번 시간에는 클라이언트(Client)가 웹서버로 보내는 요청 중 GET과 POST에 대해 알아보고 어떻게 사용하는지에 대해 알아보도록 하겠습니다.

     

     

    파이썬(Python) Request GET 사용법

    GET은 HTTP의 Method 중 하나로 페이지에 대한 정보를 요구하는 Method라고 생각하시면 됩니다. 파이썬에서 사용하는 방법은 아래와 같습니다. 

     

     

    requests.get(접속할 웹주소, 파라미터, 타임아웃시간)

     

     

    위와 같이 입력 값으로 접속하고자하는 웹주소와 보내고 싶은 정보를 파라미터에 넣고 웹서버가 반응을 하지 않는 다면 타임아웃시간 이후에 연결을 끊습니다. 

     

    여기서 파라미터와 같은 값들을 GET에서도 보낼 수 있지만 간단한 내용을 보내는 것이 가능 하고 POST와 다르게 GET은 암호화가 되지 않습니다.

     

     

     

     

    파이썬(Python) Request GET 예제 실습

     

    예제 실습을 위해 https://httpbin.org/get  웹 서버를 사용했습니다. HTTP Method에 대한 예제 실습이 가능한 서버 입니다. 

     

     

    코드>>

    import requests
    
    url = 'https://httpbin.org/get'
    
    http_post_request = requests.get(url, params = {"name": "james"})
    
    print(http_post_request.text)
    print(http_post_request.status_code)

    라인3: 접속할 웹 주소를 입력 합니다.

    라인5: request.get 함수로 요청을 보냅니다. 

    라인7: 보낸 요청을 출력합니다.

    라인8: 응답 코드를 확인합니다.

     

     

    결과>>

    {
      "args": {
        "name": "james"
      },
      "headers": {
        "Accept": "*/*",
        "Accept-Encoding": "gzip, deflate",
        "Host": "httpbin.org",
        "User-Agent": "python-requests/2.27.1",
        "X-Amzn-Trace-Id": "Root=1-62afb860-0ed0d2cc6abd569d3******"
      },
      "origin": "221.167.80.**",
      "url": "https://httpbin.org/get?name=james"
    }
    
    200

    13번 라인: 파라미터가 암호화 되지 않고 전달됩니다.

    16번 라인: 응답 OK 코드 200이 전달되었습니다.

     

     

     

     

    파이썬(Python) Request POST 사용법

     

    POST는 HTTP 요청 중 웹서버로 form 형태의 정보를 보낼 때 사용합니다. 가령 회원 가입에서 웹 브라우져에 정보를 입력하고 가입을 누르면 브라우져는 POST로 정보를 웹서버로 보내 줍니다. 

     

    사용방법은 아래와 같습니다. 

     

     

    requests.post(url,json=보낼 데이터, headers= 헤더정보)

     

    url에 접속할 웹주소를 입력합니다.

    json에는 보낼 데이터를 입력합니다.

    hearders에는 별도의 입력을 하지 않을 경우 pytho 헤더로 전달되고 이를 숨길려고 할 경우 원하는 헤더 정보를 입력 합니다. 

     

     

     

     

     

    파이썬(Python) Request POST 예제 실습

     

    코드>>

    import requests
    
    url = 'https://httpbin.org/post'
    data = {'name': 'james',
            'age': '23',
            }
    
    http_post_request = requests.post(url, json = data)
    
    print(http_post_request.text)
    print(http_post_request.status_code)

     

     

    결과>>

    {
      "args": {}, 
      "data": "{\"name\": \"james\", \"age\": \"23\"}", 
      "files": {}, 
      "form": {}, 
      "headers": {
        "Accept": "*/*", 
        "Accept-Encoding": "gzip, deflate", 
        "Content-Length": "30", 
        "Content-Type": "application/json", 
        "Host": "httpbin.org", 
        "User-Agent": "python-requests/2.27.1", 
        "X-Amzn-Trace-Id": "Root=1-62afbaed-1d514a833f***"
      }, 
      "json": {
        "age": "23", 
        "name": "james"
      },
      "origin": "221.167.80.**",
      "url": "https://httpbin.org/post"
    }
    
    200

     

    반응형