Web サイトのフォームに入力して送信する Python スクリプトを作成しようとしています。送信後、結果の Web ページでキーワードを検索したいと考えています。
具体的には、フォームはhttps://booking.elal.co.il/newBooking/changeOrder.jsp?LANG=EN&RESSYSTEMID=1です。
Webでフォームに手動で入力すると、「続行」ボタンを押すと、一種の「処理ページ」が表示され、その後、キーワードで検索したいWebページが表示されます。
ここでスクリプトを使用しようとしました: http://stockrt.github.io/p/handling-html-forms-with-python-mechanize-and-BeautifulSoup/、しかし何らかの理由でフォームを送信した後print br.response().geturl()
:検索したいWebページのURLではなく、「処理ページ」のURLを取得します。
私のコード:
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)
私がやりたいことをすることは可能ですか、どうすればそれを行うことができますか?