使用python脚本填写表单

时间:2013-04-13 09:27:58

标签: python forms mechanize

我正在尝试编写一个python脚本来填充网站上的表单,发送它,发送后我想在结果网页上搜索关键字。

更具体地说,表格是:https://booking.elal.co.il/newBooking/changeOrder.jsp?LANG=EN&RESSYSTEMID=1

当我在网上手动填写表单时,按下“继续”按钮后,我得到了一些“处理页面”,然后我得到了我想在其上搜索关键字的网页。

我尝试在这里使用脚本:http://stockrt.github.io/p/handling-html-forms-with-python-mechanize-and-BeautifulSoup/,但出于某种原因,在我提交表单后:print br.response().geturl()我得到了“处理页面”的网址,而不是网址的网址我要搜索的网页。

我的代码:

import mechanize
import cookielib
from BeautifulSoup import BeautifulSoup
import html2text

# Browser
br = mechanize.Browser()

# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)

# Browser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

# Follows refresh 0 but not hangs on refresh > 0
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

# User-Agent (this is cheating, ok?)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

# The site we will navigate into, handling it's session
br.open('https://booking.elal.co.il/newBooking/changeOrder.jsp?LANG=EN&RESSYSTEMID=1')

# Select the first (index zero) form
br.select_form(nr=0)

# User credentials
br.form['REC_LOC'] = '...'
br.form['DIRECT_RETRIEVE_LASTNAME'] = '...'

# Login
br.submit()

#Trying to print the webpage
html = br.response().read()
print html2text.html2text(html)

是否有可能做我想做的事情,我该怎么做?

0 个答案:

没有答案