2017-05-09 3 views
0

Ich habe versucht, ein Skript zu Facebook mit Python Anfragen anmelden. Durch die Analyse des Login-POST mit Firebug habe ich festgestellt, dass es auch einige andere Eingaben sendet. Ich benutzte BS4-Modul, um Werte aus dem Login-Formular zu extrahieren, einen Ladevorgang vorbereitet und schickte es mit requests.session(). Aber als ich die URL zurückgab, gab es den Aktionslink des Formulars zurück. Was mache ich falsch? Jede Hilfe ist willkommen :)Programm zum Einloggen Facebook mit Python Anfragen

Code:

#facebook login 
import requests 
from bs4 import BeautifulSoup as bs 

url='http://www.facebook.com' 

headers={'User-Agent':'Mozilla/5.0'} 

r=requests.get(url) 

soup=bs(r.text,'html.parser') 

ft='login_form' 

form=soup.find('form',{'id':'login_form'}) 


inputs=form.find_all('input') 

load={} 

for i in inputs: 
    load[i.get('name')]=i.get('value') 

e=input('enter email') 

p=input('enter password') 

load['email']=e 
load['pass']=p 
s=requests.session() 
r=s.post(form.get('action'),data=load,headers=headers) 
print(r.url) #to verify login 

s.close() 

Antwort

1

ich die Lösung selbst gefunden. Facebook benötigte die Cookies zusammen mit der Eingabe. Ich extrahierte den Cookie von der ursprünglichen Anfrage und übertrug ihn zusammen mit der Post.

Verwandte Themen