2017-11-30 8 views
0

最近、twitterログインが必要なサイトからpython web scrapingを実行しなければなりませんでした。Pythonでtwitterログインが必要なウェブサイトのスクラップ

私は、https://www.scoutzen.com/twitter-lists/search?page=1&q=luxury からデータをスクラップしようとしています。私がTwitterに接続しているときにのみ、結果にアクセスできます。これは私が期待していたほどまっすぐではありませんでした。だから、私はpythonでtwitterにログインしようとした後、私が望むウェブサイトにリクエストを送信しようとしました。私のコード以下 :

session_requests = requests.session() 
result = session_requests.get("https://twitter.com/login") 


authenticity_token= 
list(set(tree.xpath("//input[@name='authenticity_token']/@value")))[0] 


payload = { 
    'action': 'login', 
'session[username_or_email]': '[email protected]', 
'session[password]': 'pass', 
'authenticity_token': authenticity_token 
} 

result = session_requests.post("https://twitter.com/login", data = payload, 
headers = dict(referer = "https://twitter.com/login")) 

# Scrape url 
result = session_requests.get("https://www.scoutzen.com/twitter-lists/search? 
q=luxury", headers = dict(referer = "https://www.scoutzen.com/twitter- 
lists/search?q=luxury")) 

print(result.text) 

は私がツイッターでログが成功して行われたことを確認し、私は、ウェブサイトのwww.scoutzen.comはまだログインを必要とすることを実現しました。

クッキーに関連していますか? 他のパッケージを使ってログインする必要がありますか?

助けてください。何か助けてください。 多くのおかげ

答えて

1

この問題に対処する簡単な方法は、Pythonで制御することができSeleniumのWebブラウザを使用することです。そうすれば、あなたのウェブブラウザと同様に動作し、すべてのクッキーとすべてのものを管理します。それを使用すると、javascriptを表示することもできます。

を確認してください。Selenium Starter Guide

+0

こんにちはJuan、この提案をありがとうございます。問題は、このプロセスが私がPythonで作ったアプリケーションの一部であり、多くのユーザーがこのプロセスを使うべきだということです。ウェブサイトがログインとパスワードを要求するまで完全に動作していました。 –

+0

Seleniumは、Pythonのブラウザであることに不都合がありますが、それを使用する際に問題はありません。 – WooWapDaBug

+0

私はちょうどSeleniumを試しました、機能は素晴らしいです。リクエストを送信し始めたときは完璧に機能しましたが、複数のログイン後にウェブサイトが私を禁止しているようです。確かに、彼らは自動ログインを許可していません....以前にこの問題に遭遇しましたか?多くのありがとう –

関連する問題