前回変更を確認してから、このインターネットサイトでの検索結果が変更されていないか確認したいインターネットサイトがあります。
このサイトには、入力する必要のある2つの要求フィールド(「生年月日」と「いつから」など)があり、特定の年とその場所で燃やされたすべての子供たちの結果が表示されます。
Pythonを使用してクエリ結果の変更を確認してから、変更が発生したことをメールで送信したいと思います。
興味のある値をインターネットサイトに送信し、結果を解析するために、どのPythonツールを使用する必要がありますか?
これが私が記入する必要のあるフィールドのある部分です:
<fieldset class="set1 required">
<label for="">Wann wurde Ihr Kind geboren? *</label>
<input name="tbGeburtsdatum" id="tbGeburtsdatum" class="datepickerGeburt hasDatepicker" maxlength="10" onblur="this.value = formatiereDatum(this.value)" type="text">
<small class="errormessage">Bitte geben Sie ein gültiges Datum ein</small>
<span id="infoGeburt" class="legende"></span>
</fieldset>
<fieldset class="set2 required">
<label for="">Ab wann soll Ihr Kind betreut werden? *</label>
<input name="tbBetreuungAb" id="tbBetreuungAb" class="datepickerVon hasDatepicker" maxlength="10" onblur="this.value = formatiereDatum(this.value)" type="text">
<small class="errormessage">Bitte geben Sie ein gültiges Datum ein</small>
</fieldset>
<fieldset class="set3 optional">
<label for="">Bis wann soll Ihr Kind betreut werden?</label>
<input name="tbBetreuungBis" id="tbBetreuungBis" class="datepickerBis hasDatepicker" maxlength="10" onblur="this.value = formatiereDatum(this.value)" type="text">
</fieldset>
編集
私は2つのフィールドに記入するコードを書きました:
import mechanize
import cookielib
from BeautifulSoup import BeautifulSoup
import html2text
import filecmp
# 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)
# The site we will navigate into, handling it's session
br.open('https://www.meinkitaplatz-leipzig.de/')
# Select the first (index zero) form
br.select_form(nr=0)
# User credentials
br.form['tbGeburtsdatum'] = '01.12.2011'
br.form['tbBetreuungAb'] = '26.09.2012'
# Login
br.submit()
br.retrieve('https://www.meinkitaplatz-leipzig.de/WFSuche.aspx','yourfavoritepage_new.html')
print filecmp.cmp('yourfavoritepage_new.html', 'yourfavoritepage.html')
編集2
</tbody></table><table id="gvXErgebnisListe_DXMainTable" class="dxgvTable_EpErgebnisGrid" summary="<script language="javascript" type="text/javascript">var geoData = new Array("1|2| |0|0|6d96147a-641f-4411-8331-4436cd405c99|FAIRbund TPP3|Nord");var geoDataGes = new Array("1|2| |0|0|6d96147a-641f-4411-8331-4436cd405c99");</script>" style="width: 100%; border-collapse: collapse; empty-cells: show;" border="0" cellpadding="0" cellspacing="0">
<tbody><tr id="gvXErgebnisListe_DXDataRow0" class="dxgvDataRow_EpErgebnisGrid">
<td id="gvXErgebnisListe_tcrow0" colspan="17" style="border-right-width: 0px; border-bottom-width: 0px;">
<div class="resultlistEntry" id="resultlistEntry1">
<div class="resultlistHead" id="1">
<a class="linkTitle" href="#" onclick="return false;">
<strong>Nord, FAIRbund TPP3</strong>
<small>
<strong> Vorschlag: 26.09.2012 - 30.11.2014</strong>
</small>
</a>
<a class="linkMappin" href="#" onclick="jumpToLocation(new Array('1','0','0', 'FAIRbund TPP3', 'Nord'));" title="Auf der Karte zeigen" alt="Auf der Karte zeigen">
<span class="mappin mappin-tpp-klein"></span>
</a>
</div>
<div style="display: none;" class="resultlistContent" id="resultlistContent1">
<p>
Die Tagespflegeperson FAIRbund TPP3 befindet sich im Stadtbezirk Nord. Hier werden bis zu 5 Kinder betreut.
</p>
<p class="clearfix">
<input name="Details1" id="Details1" class="buttonGeneralForward" value="Details" type="submit">
</p>
</div>
</div>
</td>
</tr>
このhtmlテキストテーブル「Nord、FAIRbund TPP3」、「Vorschlag:26.09.2012-30.11.2014」を解析したいと思います。
結果をファイルに保存します。
完全なhtmlファイルはyourfavoritepage_new.htmlにあります。