Форум программистов, компьютерный форум, киберфорум
Наши страницы

Python

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

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

19.07.2013, 17:15. Просмотров 18022. Ответов 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?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2013, 17:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как отправить POST-запрос? (Python):

Отправить POST запрос через urllib - Python
Собственно нужно отправить POST запрос через urllib. Проблема в кодировке. x = 'Привет, как дела?' params = {'name':x} data =...

Как отправить SOAP запрос - Python
Как отправить с помощью питона SOAP запрос? (ниже показано, что конкретно надо отправить) Читал и пробовал библиотеки SUDS и SOAPpy, но...

Как сохранить cookies из ответа на POST-запрос? - Python
### httpPost def httpPost(url, _params): bot = atape_http_client() print u'Найдены параметры\n' a = bot.httpPost(url, _params) ...

POST запрос на Api сервера - Python
Привет. Хочу реализовать на пайтоне отправку запроса на апи сервера. Какой модуль нужен для реализации? Запрос состоит из адреса апи...

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

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

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

Добавлено через 1 час 8 минут
Цитата Сообщение от dhxdzjbr Посмотреть сообщение
Еще есть проблема, как сохронять куки?
0
dhxdzjbr
96 / 81 / 2
Регистрация: 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 / 0
Регистрация: 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 запрос, пробелы в тексте - Python
Добрый день уважаемые форумчане. Накопились вопросы) а именно 2 (в остальных удалось разобраться самому) первый: установил...

Как отправить письмо нескольким получателям? - Python
До этого никогда не сталкивался с подобными скриптами, кто может подсказать как добавить в скрипт несколько получателей? # coding: utf-8...

Как отправить бинарный файл на e-mail? - Python
Приветствую! Вопрос - как отправить любой бинарный файл? Если с картинкой понятно: img = MIMEImage(image) то с бинарным нет.

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


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

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

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