2011-10-28 133 views
1

是否可以登錄網站(並允許網站使用任何瀏覽器,而用戶不必登錄到被訪問),通過後臺進程而無需用戶交互,並允許用戶瀏覽該網站沒有從任何瀏覽器登錄?以編程方式登錄用戶?

我猜我需要註冊用戶的系統上的每個Web瀏覽器中創建的會話,但有沒有這樣做的任何其他(可能更簡單的)方法是什麼?它

認爲像自動登入Gmail在後臺,並能夠瀏覽它而沒有看到一個登錄頁面。

+0

你可以,名義上,使捲曲請求網站與適當的POST,然後存儲會話ID在一些cookie或另一個cookie中,然後通過您使用的每個瀏覽器。如果不同的瀏覽器有不同的格式限制,我不會感到驚訝,因此可能會有問題。 –

+0

@ agam360:我在用戶的計算機內部執行此操作,因此我無法訪問服務器。我正在尋找一種方法,可以在自己的計算機內自動將用戶登錄到一組預定義的網站(如Facebook,Gmail,Twitter等)。 – Blender

回答

1

肯定是possible.I提出了兩種方法來解決你的問題。他們都使用HTTP請求。你應該檢查更多關於HTTP請求的信息。

1)最簡單的方法,並建議一個用於僅在登錄Requests: HTTP for Humans

2)蟒scrapy,但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

在Python稱爲urllib2的一個庫,這將讓你做你的需要。看在Python文檔或瀏覽:

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

或本:

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

+0

我知道如何通過Python進行身份驗證,但有什麼辦法用Python腳本來驗證用戶的瀏覽器* *?我試圖在沒有用戶互動的情況下登錄到某些網站,因此當用戶訪問該網站時,它們會自動登錄。 – Blender