Форум сайта python.su
1
Всем привет.
Подскажите механизм выбора языка (нужен английский, а по geoIP определяет русский) со страницы http://www.betfair.com/ для последующей обработки BeautifulSoup. А то, я новичок в этом деле.
Спасибо, что потратили своё время на мой вопрос.
Офлайн
0
Офлайн
1
funnyman
http://www.betfair.com/en/
Офлайн
0
язык выбранный изначально сохраняется на все последующие странички.. если работать с сайтом по средствам библиотеки Grab, то переходим на главную по ссылке http://www.betfair.com/en/, получаем куки, сайт запоминает нас, и далее работаем уже как нивчем не бывало с английским.. если же пользуешься стандартными средствами python например urllib, и переходишь сразу на нужную тебе страницу, то вместе с запросом странички отправляешь пост или гет запросы скрипту который выставляет язык, перехватить и посмотреть параметры можно в FireFox при помощи плагина Firebug.. Вообщем как то так..
Офлайн
1
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')
Офлайн
0
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'
т.е. сначала граб объект направляем на http://www.betfair.com/en/, а потом по твоим делам..
Отредактировано funnyman (Июль 10, 2012 16:40:42)
Офлайн
1
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/, а потом по твоим делам..
Да и по задумке, бот должен будет анализировать разные источники данных, а данные чаще на en, чем на ru.Офлайн
0
знать бы еще что это такое? полистав мельком вики по супу, html документ у тебя уже получен через граб, не вижу сложностей передать его дальше на обработку..
еще покурив мануал по супу, начинаю недопонимать зачем вообще суп, если в грабе есть возможность работать с документом по средствам xpath?
Отредактировано funnyman (Июль 10, 2012 18:56:59)
Офлайн
1
funnyman
знать бы еще что это такое? полистав мельком вики по супу, html документ у тебя уже получен через граб, не вижу сложностей передать его дальше на обработку..
еще покурив мануал по супу, начинаю недопонимать зачем вообще суп, если в грабе есть возможность работать с документом по средствам xpath?
Написал на супе, с возможностью поиска ссылок и перехода по ним и дальше парсинг. Офлайн
14
Grab использует lxml. А суп обсирался, когда я в последний раз им пользовался. Он вообще актуален?
Офлайн