2014-09-06 84 views
0

首先,對不起我的英語,這不是我的母語。無論如何,一些語法錯誤不會殺死你:)希望。Python - 認證後閱讀網頁

由於身份驗證系統,我無法從網頁獲取一些信息。

網站是:www.matchendirect.fr 這是一個法國網站,沒有辦法將它變成英語(對不便之處) 本網站顯示足球比賽信息。

我的目的是獲得預測數據(顯示在頁面中間,有一個預測表顯示爲「Pronostics des internautes」,但僅當您登錄時顯示此表的內容)

這裏是我的代碼:

import urllib2, cookielib 
cookieJar = cookielib.CookieJar() 
auth_url="http://www.matchendirect.fr/cgi/ajax/authentification.php?f_contexte=auth_form_action&f_email=pkwpa&f_mot_de_passe=pkw_pa" 
url="http://www.matchendirect.fr/live-score/colombie-bresil.html" 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) 
request = urllib2.Request(auth_url) 
response = opener.open(request) 
response = opener.open(url) 
webpage=response.read() 

可以肯定的是登錄,我們可以試試這個:

if webpage.find("prono_stat_data")!=-1: 
    print("I'm logged in") 

我認爲我的cookies同治不好...

以下是我的憑據,與他們一起玩,這顯然是一個虛假的帳戶創建只爲這個話題。

用戶名:pkwpa 密碼:pkw_pa

希望有人能夠幫助我。

+0

你能上傳也許正好要刮什麼樣的截圖解決的問題。這是名爲內部的專欄嗎?還是整桌?或者當您將鼠標懸停在表格中的單元格上時顯示的內容? – Sebastian 2014-09-06 16:25:00

+0

謝謝你回答我塞巴斯蒂安。 我要查找的是當您將鼠標懸停在表格中的單元格上時顯示的內容。 我無法上傳圖片。抱歉。 – nino11 2014-09-06 16:53:45

+0

我想類似的東西,但它失敗: 進口的urllib2 開門紅= urllib2.build_opener() opener.addheaders.append(( '餅乾', 'PHPSESSID = tqj16pd7oiv20bcetg6cktq3a1')) opener.addheaders.append((」餅乾」, 'c_compte_pseudo = pkwpa')) opener.addheaders.append(( '餅乾', 'c_compte_id = 159819')) opener.addheaders.append(( '餅乾', 'c_compte_cle = dfe9de4de057f8113c4008d183f29826')) ˚F = opener.open(「http://www.matchendirect.fr/live-score/espagne-republique-de-macedoine.html」) f = f.read() f。find(「prono_stat_data」) >>> -1 – nino11 2014-09-08 18:22:45

回答

0

這裏是你在找什麼:http://docs.python-requests.org/en/latest/user/install/#install 使用它象下面這樣: 從請求導入會話

with session() as c: 
    c.get('http://www.matchendirect.fr/cgi/ajax/authentification.php?f_contexte=auth_form_action&f_email=pkwpa&f_mot_de_passe=pkw_pa') 
    request = c.get('http://www.matchendirect.fr/live-score/colombie-bresil.html') 
    print request.headers 
    print request.text 

乾杯

+0

你好, 我試過你的解決方案,它似乎不起作用。 該測試失敗: '如果request.find(「prono_stat_data」)= - 1: 打印(「我登錄」)' – nino11 2014-09-24 09:30:13

0

嘗試增加頭開門紅。我曾經用頭

import urllib2 
opener = urllib2.build_opener() 
opener.addheaders = [('User-agent', 'Mozilla/5.0')] 
opener.open('http://www.example.com/') 

增加了代碼

import urllib2, cookielib 
cookieJar = cookielib.CookieJar() 
auth_url="http://www.matchendirect.fr/cgi/ajax/authentification.php? f_contexte=auth_form_action&f_email=pkwpa&f_mot_de_passe=pkw_pa" 
url="http://www.matchendirect.fr/live-score/colombie-bresil.html" 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) 
opener.addheaders = [('User-agent', 'Mozilla/5.0')] 
opener.addheaders.append(('Cookie', 'cookiename=cookievalue')) 
request = urllib2.Request(auth_url) 
response = opener.open(request) 
response = opener.open(url) 
webpage=response.read() 
+0

你好,我想你的解決方案,它似乎並沒有太多工作。此測試失敗:如果webpage.find(「prono_stat_data」)!= - 1:print(「我已登錄」)。 它似乎添加標題是不夠的! – nino11 2014-09-30 06:02:20