2017-05-09 4 views
0

私はPythonリクエストを使ってFacebookにログインするスクリプトを作ろうとしました。 Firebugを使ってログインPOSTを分析すると、他の入力も送信されることがわかりました。 BS4モジュールを使用してログインフォームから値を抽出し、負荷を準備し、requests.session()を使って送信しました。しかし、URLを返すと、フォームのアクションリンクが返されました。私は間違って何をしていますか?すべてのヘルプは高く評価され:)Pythonリクエストを使ってFacebookにログインするプログラム

コード:

#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() 

答えて

1

を私は解決策を自分自身を発見しました。 Facebookは入力負荷とともにクッキーを必要としていました。私は最初のリクエストからクッキーを抽出し、それを投稿と一緒に渡しました。

関連する問題