Не удается отправить веб-форму с помощью urllib2 в python

Я пытаюсь отправить форму по адресу http://www.harshtechtalk.com/contact-us-harsh-tech-talk, используя следующий код, но безуспешно. Пожалуйста помоги!

#!C:/Python27/python.exe

import urllib
import urllib2

def main():
        proxy_info={
                        'user' : '[email protected]',
                        'pass' : 'xyz',
                        'host' : 'xxxxxxxx',
                        'port' : 80
                        }
        proxy_support = urllib2.ProxyHandler({"http" : "http://%(user)s:%(pass)s@%(host)s:%(port)d"
% proxy_info})
        opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler)
        urllib2.install_opener(opener)
        url = 'http://www.harshtechtalk.com/contact-us-harsh-tech-talk'
        values = {
                        'your-name':'test_name',
                        'your-email':'[email protected]',
                        'your-subject':'python_test',
                        'your-message':'test_message'
                        }
        data = urllib.urlencode(values)
        req = urllib2.Request(url,data)
        response = urllib2.urlopen(req)
        the_page = response.read()
        print "done"

if __name__ == '__main__':
        main()

PS - я не хочу использовать "механизировать", потому что он не поддерживает javascript. Пожалуйста, дайте мне знать, есть ли какой-либо другой модуль, который я могу использовать для обработки динамических веб-форм.


person theharshest    schedule 14.09.2011    source источник
comment
Что значит нет успеха? Как вы сейчас выполняете javascript?   -  person Wooble    schedule 15.09.2011
comment
Это контактная форма в моем блоге. Итак, для любой отправки формы я получаю электронное письмо. Под отсутствием успеха я подразумеваю, что я не получил никакой почты. Он работает с механизмом, как я пытался его использовать. Так что с формой проблем нет.   -  person theharshest    schedule 15.09.2011


Ответы (1)


Обработка веб-форм AJAX обычно требует использования selenium, чтобы Python управлял реальным веб-браузером с установленным движком JavaScript. Некоторые люди также говорят о phantomjs, но я пока не знаю об официальном модуле Python для него. Смотрите также:

Безголовый Firefox/Webkit с поддержкой сценариев в Linux?

person Brandon Rhodes    schedule 15.09.2011
comment
селен работал для меня. Но для Pyhton трудно найти хорошую документацию. - person theharshest; 30.09.2011