Уведомления

Группа в Telegram: @pythonsu

#1 Июль 10, 2012 12:32:40

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Подскажите механизм

Всем привет.
Подскажите механизм выбора языка (нужен английский, а по geoIP определяет русский) со страницы http://www.betfair.com/ для последующей обработки BeautifulSoup. А то, я новичок в этом деле.
Спасибо, что потратили своё время на мой вопрос.

Офлайн

#2 Июль 10, 2012 14:05:12

funnyman
Зарегистрирован: 2012-07-10
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите механизм

Офлайн

#3 Июль 10, 2012 14:08:44

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Подскажите механизм

funnyman
http://www.betfair.com/en/

К сожалению вот тут http://sports.betfair.com/football не сработает. Уже пробовал.

Офлайн

#4 Июль 10, 2012 14:22:21

funnyman
Зарегистрирован: 2012-07-10
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите механизм

язык выбранный изначально сохраняется на все последующие странички.. если работать с сайтом по средствам библиотеки Grab, то переходим на главную по ссылке http://www.betfair.com/en/, получаем куки, сайт запоминает нас, и далее работаем уже как нивчем не бывало с английским.. если же пользуешься стандартными средствами python например urllib, и переходишь сразу на нужную тебе страницу, то вместе с запросом странички отправляешь пост или гет запросы скрипту который выставляет язык, перехватить и посмотреть параметры можно в FireFox при помощи плагина Firebug.. Вообщем как то так..

Офлайн

#5 Июль 10, 2012 15:42:44

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Подскажите механизм

funnyman
язык выбранный изначально сохраняется на все последующие странички.. если работать с сайтом по средствам библиотеки Grab, то переходим на главную по ссылке http://www.betfair.com/en/, получаем куки, сайт запоминает нас, и далее работаем уже как нивчем не бывало с английским.. если же пользуешься стандартными средствами python например urllib, и переходишь сразу на нужную тебе страницу, то вместе с запросом странички отправляешь пост или гет запросы скрипту который выставляет язык, перехватить и посмотреть параметры можно в FireFox при помощи плагина Firebug.. Вообщем как то так..

Сорри, за снубовский вопрос, но что я делаю не так?

from grab import Grab
g = Grab()
g.setup(headers={'Accept-Language': 'en-us,en;q=0.7'})
g.go('http://soccer.betfair.com/')
print g.request_headers
print g.response.headers.get('Content-Language')

Офлайн

#6 Июль 10, 2012 16:12:44

funnyman
Зарегистрирован: 2012-07-10
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите механизм

IP все равно отстается тот же.. мэн, посмотри при помощи фаербаг что и куда передается когда ты заходишь и выбираешь в меню вместо русского английский, срабатывает какой то ajax скрипт, без перезагрузки странички меняется язык.. я пока фаерфокс гружу на рабочий комп а вообще если не нужен геморой заплати за пару хороших прокси поведай что хочешь с сайтом то делать? может русский английский не так важен?

смотри прикол, тот код который привел ты возвращает ru-RU, теперь добавляем небольшой костыль:

>>> from grab import Grab
>>> g = Grab()
>>> g.go('http://www.betfair.com/en/')
<grab.response.Response object at 0x953d58c>
>>> g.go('http://soccer.betfair.com/')
<grab.response.Response object at 0x95cf38c>
>>> g.response.headers.get('Content-Language')
'en-GB'

и получаем en-GB т.е. сначала граб объект направляем на http://www.betfair.com/en/, а потом по твоим делам..

Отредактировано funnyman (Июль 10, 2012 16:40:42)

Офлайн

#7 Июль 10, 2012 18:34:38

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Подскажите механизм

funnyman
IP все равно отстается тот же.. мэн, посмотри при помощи фаербаг что и куда передается когда ты заходишь и выбираешь в меню вместо русского английский, срабатывает какой то ajax скрипт, без перезагрузки странички меняется язык.. я пока фаерфокс гружу на рабочий комп а вообще если не нужен геморой заплати за пару хороших прокси поведай что хочешь с сайтом то делать? может русский английский не так важен?

смотри прикол, тот код который привел ты возвращает ru-RU, теперь добавляем небольшой костыль:

>>> from grab import Grab
>>> g = Grab()
>>> g.go('http://www.betfair.com/en/')
<grab.response.Response object at 0x953d58c>
>>> g.go('http://soccer.betfair.com/')
<grab.response.Response object at 0x95cf38c>
>>> g.response.headers.get('Content-Language')
'en-GB'

и получаем en-GB т.е. сначала граб объект направляем на http://www.betfair.com/en/, а потом по твоим делам..

Пишу бота. Я для BeautifulSoup написал парсер, но мне чертовски не нравятся русские буквы. Да и по задумке, бот должен будет анализировать разные источники данных, а данные чаще на en, чем на ru.

P.s. А как теперь передать всё это BeautifulSoup?

Офлайн

#8 Июль 10, 2012 18:40:40

funnyman
Зарегистрирован: 2012-07-10
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите механизм

знать бы еще что это такое? полистав мельком вики по супу, html документ у тебя уже получен через граб, не вижу сложностей передать его дальше на обработку..


еще покурив мануал по супу, начинаю недопонимать зачем вообще суп, если в грабе есть возможность работать с документом по средствам xpath?

Отредактировано funnyman (Июль 10, 2012 18:56:59)

Офлайн

#9 Июль 10, 2012 21:15:05

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Подскажите механизм

funnyman
знать бы еще что это такое? полистав мельком вики по супу, html документ у тебя уже получен через граб, не вижу сложностей передать его дальше на обработку..


еще покурив мануал по супу, начинаю недопонимать зачем вообще суп, если в грабе есть возможность работать с документом по средствам xpath?

Вы убили меня. Написал на супе, с возможностью поиска ссылок и перехода по ним и дальше парсинг.
Изучать питон начал около двух недель назад, подвернулся суп, на нём и написал. А теперь нужно понять, значимость перехода всего кода на граб, кто из них быстрей.

А как передать дальше?

P.s. Спасибо, что уделяете мне своё время.

Офлайн

#10 Июль 10, 2012 23:11:02

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Подскажите механизм

Grab использует lxml. А суп обсирался, когда я в последний раз им пользовался. Он вообще актуален?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version