Форум сайта python.su
0
Доброго времени суток дорогие форумчане. Такая проблема. Нужно лайкнуть пост в фотостране. Использую Grab. Но почему то не лайкается.
Вот кусок пост запроса из снифера HTTPFox:
viewTarget=viewer&viewPlace=community.profile&context=YTowOnt9&noCycling=true&ownerId=332295&ajax=1&pinId=452931651&_fs2ajax=1
value = { 'viewTarget':'viewer', 'viewPlace':'community.profile', 'context':'YTowOnt9', 'noCycling':'true', 'ownerId':'332295', 'ajax':'1', 'pinId':'452931651', '_fs2ajax':'1', }
headers = {
'(Request-Line)':'GET / HTTP/1.1',
'Host':'fotostrana.ru',
'User-Agent' : 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:34.0) Gecko/20100101 Firefox/34.0',
'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language' : 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding' : 'gzip, deflate',
'Referer' : 'http://fotostrana.ru/public/post/332295/452931651/',
'Cookie' :'',
'Connection' : 'keep-alive'
}# -*- coding: utf-8 -*- from grab import Grab import time, random import logging logger = logging.getLogger('grab') logger.addHandler(logging.StreamHandler()) logger.setLevel(logging.DEBUG) headers = { '(Request-Line)':'GET / HTTP/1.1', 'Host':'fotostrana.ru', 'User-Agent' : 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:34.0) Gecko/20100101 Firefox/34.0', 'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language' : 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding' : 'gzip, deflate', #'Referer' : 'http://fotostrana.ru/public/post/332295/452931651/', 'Cookie' :'', 'Connection' : 'keep-alive' } value = { 'viewTarget':'viewer', 'viewPlace':'community.profile', 'context':'YTowOnt9', 'noCycling':'true', 'ownerId':'332295', 'ajax':'1', 'pinId':'452931651', '_fs2ajax':'1', } g = Grab(headers = headers) g.setup(hammer_mode=True, hammer_timeouts=((2, 5), (10, 15), (20, 30))) g.go('http://fotostrana.ru/signup/login/', log_file='outtest.html') g.choose_form(1) g.set_input("user_email", '*****') g.set_input("user_password", '******') g.submit() g.setup(post=value) g.go('http://fotostrana.ru/pin/add-like/')
{"ret":0,"errors":[{"data":{"text":"\u041e\u0448\u0438\u0431\u043a\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430."},"callback":"unknownError"}]}Офлайн
103
ну вот это “\u041e\u0448\u0438\u0431\u043a\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.” означает
“Ошибка на стороне сервера”
а что такое context? вы уверены что он всегда одинаковый
перезагрузите страницу и посмотрите еще раз через HTTPFox
Офлайн
0
Да. Context одинаковый получается. Я лайкнул другой пост параметры поста только меняются и все
viewTarget=viewer&viewPlace=community.profile&context=YTowOnt9&noCycling=true&ownerId=332295&ajax=1&pinId=453097528&_fs2ajax=1
Офлайн
4
Используй Selenium c PhantomJS.
Офлайн
0
Я так уже делаю. Если использовать прокси, то очень неудобное управление получается. Плюс долго. Все таки мне кажется post get запросом можно быстрее оформить все это дело.
Офлайн
14
Notan1310
Как капчу при входе на сайт обошёл?
Офлайн
0
alex925
Notan1310Как капчу при входе на сайт обошёл?
Отредактировано Notan1310 (Янв. 19, 2015 19:23:26)
Офлайн
4
Ковыряй post/
Офлайн
0
den4ikЯ же и прошу мне помочь. Встал именно на этом месте. Знаний не хватает
Ковыряй post/
Офлайн