Парсинг информации из таблицы

Есть интернет-сайт, который я хотел бы проверить, изменился ли результат поиска на этом интернет-сайте с тех пор, как я в последний раз проверял наличие изменений.

На сайте есть 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>

РЕДАКТИРОВАТЬ

я написал код, который заполняет два поля:

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="&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;var geoData = new Array(&quot;1|2|  |0|0|6d96147a-641f-4411-8331-4436cd405c99|FAIRbund TPP3|Nord&quot;);var geoDataGes = new Array(&quot;1|2|  |0|0|6d96147a-641f-4411-8331-4436cd405c99&quot;);&lt;/script&gt;" 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.

1 ответ

Mechanize предлагает простой способ отправки форм, см. Примеры на http://wwwsearch.sourceforge.net/mechanize/

Другие вопросы по тегам