2016-07-26 3 views
1

나의 목적은 url이 입력으로 주어질 때 페이스 북 ID를 반환하는 python 스크립트를 작성하는 것이다. 같은 것을하는이 website을 발견했습니다.POST 요청을 통해 웹 사이트에 요청을 보내는 방법은 무엇입니까?

내가 물어보고 싶은 :

1)이 가능 내가 POST 명령 "urlopen" "URLLIB"라이브러리를 사용하여 사용자가 입력 한 URL을 포함하는 자신을 요청할 보내? 그리고 urllib.read() 함수로부터 답을 추출 하시겠습니까?

2) 가능하지 않은 경우이 작업을 어떻게 수행 할 수 있습니까?

POST 및 HTTP에 대해 거의 알지 못합니다. 그러나 이것을 알아낼 수는 없습니다.

페이지 소스를 읽기에서 POST 요청이 방식으로 전송되는 : 당신이 requests
를 사용하는 사용하여 설치할 수있는 가장 쉬운 대답이 될 것 잘

<form method="POST"> 
    <div class="form-group"> 
     <input 
      name="url" 
      type="text" 
      placeholder="https://www.facebook.com/YourProfileName" 
      class="input-lg form-control"> 
     </input> 

    </div> 
    <button type="submit" class="btn btn-primary">Find numeric ID &rarr;</button> 

</form> 
+0

당신은 파이썬 요청에보고를 할 수 있습니다를 (찾을 수 있습니다 URLLIB 사용하려면 http://docs.python-requests.org/en/master/) 파이썬에서 http 요청을하는 훨씬 간단한 방법이다. 그리고 웹과 관련된 작업을 수행하려는 경우 HTTP 프로토콜이 어떻게 작동 하는지를 배울 필요가 있습니다. –

+0

나는 이것을 염두에두고 있지만이 웹 사이트가 보내고있는 논점을 한 번 지적 할 수 있습니까? 받은 URL에 success와 facebook id가 포함되어있어 문제가되지 않습니다. –

+0

facebook-api 문서를 읽는 것은 어떻습니까? https://developers.facebook.com/docs/graph-api –

답변

3

pip install requests 

일반적인 사용법은 (파이썬 3을 사용한다고 가정 할 때)

import requests 
payload={ 
    'key1':'value1', 
    'key2':'value2' 
} 
r = requests.post('http://url', data = payload) 
print(r.content) 

당신이이 샘플 코드는 here

import urllib.parse 
import urllib.request 

url = 'http://www.someserver.com/cgi-bin/register.cgi' 
values = {'name' : 'Michael Foord', 
      'location' : 'Northampton', 
      'language' : 'Python' } 

data = urllib.parse.urlencode(values) 
data = data.encode('ascii') # data should be bytes 
req = urllib.request.Request(url, data) 
with urllib.request.urlopen(req) as response: 
    the_page = response.read() 
+0

이 경우 전달되는 값은? (페이스 북의 id 웹 사이트) –

관련 문제