2014-09-06 4 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") 

Я думаю, что мое печенье Managment не хорошо ...

Вот мои учетные данные, играйте с ними, это, очевидно, фальшивая учетная запись, созданная только для этой темы.

Имя пользователя: pkwpa пароль: pkw_pa

Надежда кто-то может мне помочь.

+0

Не могли бы вы, возможно, загрузить скриншот того, что именно вы хотите, чтобы быть Царапины. Это столбец, называемый internautes? Или весь стол? Или содержимое, отображаемое при наведении курсора на ячейки в таблице? – Sebastian

+0

Спасибо, что ответили на меня, Себастьян. Что я ищу - это контент, отображаемый при наведении курсора на ячейки в таблице. Не могу загрузить изображение. Сожалею. – nino11

+0

я пытался что-то подобное, но это не удалось: импорт urllib2 нож = urllib2.build_opener() opener.addheaders.append (('Cookie', 'PHPSESSID = tqj16pd7oiv20bcetg6cktq3a1')) opener.addheaders.append ((» Cookie», 'c_compte_pseudo = pkwpa')) opener.addheaders.append (('Cookie', 'c_compte_id = 159819')) opener.addheaders.append (('Cookie', 'c_compte_cle = dfe9de4de057f8113c4008d183f29826')) е = opener.open ("http://www.matchendirect.fr/live-score/espagne-republique-de-macedoine.html") f = f.read() f.find ("prono_stat_data") >>> -1 – nino11

ответ

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

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