2014-09-06 83 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