Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 125, средняя оценка - 4.93
djdeniro
3 / 3 / 1
Регистрация: 01.03.2013
Сообщений: 68
#1

Как отправить POST-запрос? - Python

19.07.2013, 17:15. Просмотров 19751. Ответов 4
Метки нет (Все метки)

Парсинг + Отправка POST формы и получение результата
Вот собственно вопрос, есть сайт Wmmail, нужно отправить на него post запрос
Вариант для GET:
Python
1
2
3
4
5
6
7
8
9
# -*- coding: cp1251 -*-
import urllib
import lxml.html
log=raw_input('Логин')
pass=raw_input('Пароль')
page = urllib.urlopen("http://wmmail.ru/?login="+log+'&password=' +pass)
doc = lxml.html.document_fromstring(page.read())
for bal in doc.cssselect('a.bal'):
    print bal.text
А как в POST?
http://www.cyberforum.ru/python/thread1224517.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2013, 17:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как отправить POST-запрос? (Python):

Как отправить SOAP запрос
Как отправить с помощью питона SOAP запрос? (ниже показано, что конкретно надо...

Как сохранить cookies из ответа на POST-запрос?
### httpPost def httpPost(url, _params): bot = atape_http_client() print...

Разбор ответа на POST запрос
Добрый вечер! Подскажите пожалуйста, сравниваю ответы на запрос полученные...

POST запрос на Api сервера
Привет. Хочу реализовать на пайтоне отправку запроса на апи сервера. Какой...

POST-запрос. Загрузка изображения на сервер
Решил я немного заняться проектиками по VK OPEN API. Для таких вещей нужно...

4
dhxdzjbr
96 / 81 / 5
Регистрация: 06.05.2013
Сообщений: 242
19.07.2013, 17:43 #2
Читай вот это http://ivinside.blogspot.ru/2009/07/urllib2.html
1
djdeniro
3 / 3 / 1
Регистрация: 01.03.2013
Сообщений: 68
19.07.2013, 20:09  [ТС] #3
Цитата Сообщение от dhxdzjbr Посмотреть сообщение
Спасибо! Ура я сделал парсер! Благодаря вам!

Добавлено через 1 час 8 минут
Цитата Сообщение от dhxdzjbr Посмотреть сообщение
Еще есть проблема, как сохронять куки?
0
dhxdzjbr
96 / 81 / 5
Регистрация: 06.05.2013
Сообщений: 242
19.07.2013, 20:14 #4
Python
1
2
3
4
5
6
7
8
9
10
11
12
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllib2.install_opener(opener)
data_to_request = {<словарь с данными для запроса>}
headers = {"User-Agent": "Mozilla/5.0 (X11; U; Linux i686; ru; \
                    rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) \
                    Firefox/3.6.6",
                   "Accept": "text/html,application/xhtml+xml,application\
                   /xml;q=0.9,*/*;q=0.8"}
params_auth = urllib.urlencode(data_to_request)
request_auth = urllib2.Request(<ссылка на страницу>, params_auth, headers)
page_auth = urllib2.urlopen(request_auth).read()
Вот так, думаю разберёшься
1
djdeniro
3 / 3 / 1
Регистрация: 01.03.2013
Сообщений: 68
19.07.2013, 20:39  [ТС] #5
Цитата Сообщение от dhxdzjbr Посмотреть сообщение
Python
1
2
3
4
5
6
7
8
9
10
11
12
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllib2.install_opener(opener)
data_to_request = {<словарь с данными для запроса>}
headers = {"User-Agent": "Mozilla/5.0 (X11; U; Linux i686; ru; \
                    rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) \
                    Firefox/3.6.6",
                   "Accept": "text/html,application/xhtml+xml,application\
                   /xml;q=0.9,*/*;q=0.8"}
params_auth = urllib.urlencode(data_to_request)
request_auth = urllib2.Request(<ссылка на страницу>, params_auth, headers)
page_auth = urllib2.urlopen(request_auth).read()
Вот так, думаю разберёшься
Спс)
Но, хотелось бы поточнее
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: cp1251 -*-
import urllib
import urllib2
import lxml
import lxml.html
from lxml import *
f = open('a.html','w')
log = raw_input('Логин: ');
pas = raw_input('Пароль: ');
headers = {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'}
values = {'ulogin' : log, 'pass' : pas,'x': '14','y':'4','cf':'akk-login','pass1':'y06noVfhtU'}
data = urllib.urlencode(values)
req = urllib2.Request('http://wmmail.ru', data, headers)
response = urllib2.urlopen(req)
site1 = response.read()
site_u = lxml.html.document_fromstring(site1)
balance = site_u.xpath('//span[@id="ubalance"]/text()')
f.write('TOTAL MONEY')
f.write(str(balance[0]))
f.write('$')
f.write(site1);
print 'Баланс аккаунта: '+balance[0]
values = {'cf':'game4-viewgame'}
data = urllib.urlencode(values)
req = urllib2.Request('http://wmmail.ru', data, headers) 
response = urllib2.urlopen(req)
site2 = response.read() #Вот тут мы получаем страницу ( А там Введите Логин и пасс, п если через Бравзер, то норм) #как и Куда прикажете тыкать))
f.write('|||'*12)
f.write(site2)
Добавлено через 8 минут
Цитата Сообщение от djdeniro Посмотреть сообщение
Спс)
Но, хотелось бы поточнее
Python
1
2
3
4
5
6
7
8
9
# -*- coding: cp1251 -*-
import urllib
import urllib2
import lxml
import lxml.html
from lxml import *
 
f.write('|||'*12)
f.write(site2)
Разобрался, но
Python
1
2
cookie = cookielib.CookieJar()
NameError: name 'cookielib' is not defined
Добавлено через 2 минуты
Цитата Сообщение от dhxdzjbr Посмотреть сообщение
Python
1
2
3
4
5
6
7
8
9
10
11
12
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllib2.install_opener(opener)
data_to_request = {<словарь с данными для запроса>}
headers = {"User-Agent": "Mozilla/5.0 (X11; U; Linux i686; ru; \
                    rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) \
                    Firefox/3.6.6",
                   "Accept": "text/html,application/xhtml+xml,application\
                   /xml;q=0.9,*/*;q=0.8"}
params_auth = urllib.urlencode(data_to_request)
request_auth = urllib2.Request(<ссылка на страницу>, params_auth, headers)
page_auth = urllib2.urlopen(request_auth).read()
Вот так, думаю разберёшься
Все разобрался до конца! Спасибо вам)))))
0
19.07.2013, 20:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2013, 20:39
Привет! Вот еще темы с решениями:

Grab post запрос, пробелы в тексте
Добрый день уважаемые форумчане. Накопились вопросы) а именно 2 (в остальных...

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

Как отправить бинарный файл на e-mail?
Приветствую! Вопрос - как отправить любой бинарный файл? Если с картинкой...

Как отправить сообщение в центр уведомления Mac OS?
Я перепробовал около трех библиотек для этой цели и не одна из них не работает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru