2011-10-28 12 views
1

ユーザーの介入なしに、バックグラウンドプロセスを介してWebサイトにサインインして(ユーザーがログインすることなくそのWebサイトをブラウザーで閲覧できるようにする)、ブラウザーからログインせずにサイトを閲覧できる?プログラムでユーザーにログインしますか?

私は、作成したセッションをユーザのシステム上の各Webブラウザに登録する必要があると思いますが、これを行う方法は他にもありますか?

Gmailに自動的にログインし、ログインページが表示されずにブラウズできるようにしてください。

+0

あなたは、名目上、適切なPOSTでウェブサイトにカール要求を行い、その後、セッションIDを保存することができいくつかのクッキーなどでは、使用する各ブラウザーにパスします。異なるブラウザーの書式設定の制約が異なると、私は驚くことはないので、問題があるかもしれません。 –

+0

@ agam360:私はこれをユーザーのコンピュータから実行しているため、サーバーにアクセスできません。私は自動的に自分のコンピュータ内から事前定義されたWebサイト(Facebook、Gmail、Twitterなど)のセットにユーザーをログインする方法を探しています。 – Blender

答えて

1

はい可能です。私はあなたの問題を解決するために2つの方法を提案します。どちらもHTTPリクエストを使用します。 HTTPリクエストの詳細を確認する必要があります。

1)最も簡単な方法とは、ログインRequests: HTTP for Humans

2)のpython scrapyのための1つをお勧めしますが、scrapyは、クロールやスクリーンスクレイピングのためです。 チェックこの例:

ログインクモ例

class LoginSpider(BaseSpider): 
name = 'example.com' 
start_urls = ['http://www.example.com/users/login.php'] 

def parse(self, response): 
    return [FormRequest.from_response(response, 
       formdata={'username': 'john', 'password': 'secret'}, 
       callback=self.after_login)] 

def after_login(self, response): 
    # check login succeed before going on 
    if "authentication failed" in response.body: 
     self.log("Login failed", level=log.ERROR) 
     return 

    # continue scraping with authenticated session... 

more info here

+0

これはユーザーのウェブブラウザに登録しますか?私は実際に掻き集めるのではなく、ウェブブラウザでページを読み込むときにログインする必要がないように、バックグラウンドでユーザをログインさせます。 – Blender

0

あなたが必要なものをやらせますurllib2のと呼ばれるPythonでライブラリがあります。ここではPythonのドキュメントまたはで見て:

http://www.voidspace.org.uk/python/articles/urllib2.shtml#openers-and-handlers

またはこの:

http://www.doughellmann.com/PyMOTW/urllib2/

+0

私はPython経由での認証方法を知っていますが、Pythonスクリプトを使ってユーザーの*ブラウザ*を認証する方法はありますか?私はユーザーの介入なしに特定のサイトにログインしようとしているので、ユーザーがサイトにアクセスすると自動的にログインします。 – Blender

関連する問題