2017-09-29 15 views
1

www.mutualart.comからデータを収集しようとしていますが、このWebサイトにはAjaxログインフォームがあります。 'ログイン'をクリックするとポップアップ表示されます。したがって、このWebサイトにログインするためにRequests Sessionのpostメソッドを使用しようとしていたとき、それは機能しません。Pythonを使用してAjaxポップアップログインページを持つWebサイトにログインします。Requests.Sessionを使用して

ウェブサイトからプレミアムデータを取得するには、ウェブサイトにログインし、必要な情報にアクセスするためにCookieを維持する必要があります。

このような状況で投稿方法を使用してウェブサイトにログインするにはどうすればよいですか?

import requests 
    from lxml import htmlfrom bs4 import BeautifulSoup 
    import sys 

    EMAIL = '' 
    PASSWORD = '' 

    MainUrl = 'https://www.mutualart.com' 


    payload = { 
     'email': EMAIL, 
     'txtUserPassword': PASSWORD 
    } 

    with requests.Session() as s: 

     login_req = s.post(MainUrl, data=login_data) 

     url = 'https://www.mutualart.com/Artwork/Vue-de-Franche-Comte/9CDD9A00EE80E8C9' 

     post_one = s.get(url) 
     soup = BeautifulSoup(post_one.text, 'lxml') 

     estimate = soup.find_all('div',class_='v2__artwork-detail__price-col') 
     name = soup.find_all('div', class_ = 'v2__artwork-detail__section') 

     print estimate #This should be the data that can be accessed by premium subscription 
     print login_req.status_code #The connection seems to be there 

答えて

0

私は「MainUrl」の 場所に以下のURLを使って自分の資格情報を使用してアクセスを得ることができました。ウェブサイト(https://developer.chrome.com/devtools)に関連してネットワークアクティビティを表示する際に

https://www.mutualart.com/Ajax/LogIn/UserControlLogin

Chromeの「開発ツール」

に便利です。ネットワークタブ内で、&を記録しておき、ログの保存を有効にしてください。

サイドノート:私の現在の評判にしてください私は私の応答に適していると感じるコメントで返信することができません。

+0

ありがとう、これを試してみてください! – Maeror

関連する問題