Размещение формы с использованием Python и Curl - PullRequest
0 голосов
/ 19 мая 2010

Я относительно новичок (как и через несколько дней) в Python - я ищу пример, который бы показал мне, как разместить форму на веб-сайте (скажем, www.example.com).

Я уже знаю, как использовать Curl. На самом деле, я написал код на C +++, который делает то же самое (например, POST-форму с использованием Curl), но я хотел бы получить некоторую отправную точку (несколько строк, на которых я могу опираться), которая покажет мне, как это сделать Python.

Ответы [ 3 ]

2 голосов
/ 19 мая 2010

Вот пример использования urllib и urllib2 для POST и GET:

POST - Если urlopen() имеет второй параметр, то это запрос POST.

import urllib
import urllib2

url = 'http://www.example.com'
values = {'var' : 500}

data = urllib.urlencode(values)
response = urllib2.urlopen(url, data)
page = response.read()

GET - Если urlopen() имеет единственный параметр, то это запрос GET.

import urllib
import urllib2

url = 'http://www.example.com'
values = {'var' : 500}

data = urllib.urlencode(values)
fullurl = url + '?' + data
response = urllib2.urlopen(fullurl)
page = response.read()

Вы также можете использовать curl, если позвоните по номеру os.system().

Вот несколько полезных ссылок:
http://docs.python.org/library/urllib2.html#urllib2.urlopen
http://docs.python.org/library/os.html#os.system

0 голосов
/ 19 мая 2010

Существует два основных пакета Python для автоматизации веб-взаимодействий:

  • Mechanize
  • Twill

    Twill, по-видимому, не обновлялся в течение пары лет и, по-видимому, был в версии 0.9 с декабря 2007 года. Mechanize показывает журнал изменений и выпуски всего несколько дней назад: 2010-05-16 с выпуском версии 0.2 1.

    Конечно, вы найдете примеры, перечисленные на соответствующих веб-страницах. По сути, Twill предоставляет простой интерпретатор, похожий на оболочку, в то время как Mechanize предоставляет класс и API, в которых вы устанавливаете значения формы, например, с помощью словарных выражений Python (__setattr__() method). Оба используют BeautifulSoup для анализа HTML-кода «реального мира». (Это настоятельно рекомендуется для работы с HTML, с которым вы сталкиваетесь в дикой природе, и настоятельно не рекомендуется для вашего собственного HTML, который должен быть написан для соответствия стандартам, проверяющим, анализаторам).

0 голосов
/ 19 мая 2010
curl -d "birthyear=1990&press=AUD" www.site.com/register/user.php

http://curl.haxx.se/docs/httpscripting.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...