Не може да се изпрати уеб формуляр с 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 - Не искам да използвам "mechanize", защото не поддържа javascript. Моля, уведомете ме дали има друг модул, който мога да използвам за работа с динамични уеб формуляри.


person theharshest    schedule 14.09.2011    source източник
comment
Какво означава липса на успех? Как изпълнявате javascript сега?   -  person Wooble    schedule 15.09.2011
comment
Това е формата за контакт в моя блог. Така че за всяко изпращане на формуляр получавам имейл. Под без успех имам предвид, че не получих никаква поща. Работи с mechanize, както се опитах да го използвам. Така че, няма проблем с формата.   -  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