2016-11-02 1 views
0

J'essaie de me connecter à soundcloud en utilisant le code suivant, mais cela conduit à une erreur 405 (méthode non autorisée). Je suis conscient qu'il existe une API mais j'aime bien le faire en utilisant la requête, pensez-vous que c'est possible? Je ne veux pas créer une application, simuler simplement le comportement d'un utilisateur normal comme suivre d'autres utilisateurs, ajouter piste, commentaires, etc ..Connectez-vous à soundcloud en utilisant Python Request

import urllib2 
import requests 
import bs4 as BeautifulSoup 

url = 'http://soundcloud.com/signin' 
user  = '*******@gmail.com' 
password = '*******' 
client_id = '02**************Ea' 

headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64)  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'} 

credentials = { 'identifier' : user, 
      'password' : password } 

auth = { "client_id": client_id, 
    'credentials' : credentials, 
    'recaptcha_response' : '', 
    'scope'  : 'fast-connect non-expiring purchase signup upload' } 

with requests.Session() as s: 
    p = s.post(url, data=auth, headers =headers) 
    print p.status_code 
    data = p.text 
    soup = BeautifulSoup.BeautifulSoup(data) 
    [s.extract() for s in soup(['style', 'script', '[document]', 'head', 'title'])] 
    visible_text = soup.getText() 
    visible_text = visible_text.encode('cp850','replace') 
    print visible_text 

Toutes les suggestions?

Répondre

0

Je l'ai fait:

import requests 
import bs4 as BeautifulSoup 
import json 

url  = 'http://soundcloud.com/signin' 
user  = '***********@gmail.com' 
password = '********' 
client_id = '**************' 
UA  = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36' 

#Premiere requete Option 
headers1 = { 'User-Agent': UA } 

params1 = { 'client_id' : client_id, 
      'app_version':'1478081684' } 

headers2 = { 'User-Agent': UA } 

credentials = { 'identifier' : user, 
       'password' : password } 

auth = { "client_id"   : client_id, 
     'credentials'  : credentials, 
     'recaptcha_response' : '', 
     'scope'    : 'fast-connect non-expiring purchase signup upload' } 

with requests.Session() as s: 
    print "requete 1:" 
    print "----------" 
    url = 'http://sign-in.soundcloud.com/sign-in/password?' 
    p = s.options(url, data=json.dumps(auth), params = params1, headers = headers1) 
    print p.url 
    print "Status : " + str(p.status_code) 
    print p.headers 
    print p.content 

    print "request 2:" 
    print "----------" 
    p = s.post(url, data=json.dumps(auth), params = params1, headers = headers2) 
    print p.url 
    print "Status : " + str(p.status_code) 
    print p.content