Como recuperar informações de preço de www.meinfluessiggas.de em um script bash?

1

Em link , é necessário clicar em um botão de tamanho de tanque (seção “Behältergröße”) e preencher um código postal (seção “PLZ Behälterstandort” ”) Para o preço aparecer à direita. Desejo automatizar isso em um script bash , mas luto para recuperar as informações corretas:

wget https://www.meinfluessiggas.de

carrega a origem da página corretamente, mas ela não contém as informações de preço. Descobri que existem algumas funções javascript que carregam as informações de preço, seguindo a abordagem em SU: Navegador de linha de comando com suporte js eu tentei

phantomjs save_page.js https://www.meinfluessiggas.de > page.html

e recupera o código-fonte, incluindo algumas informações de preço, mas infelizmente apenas para o menor tamanho do tanque, o botão que é selecionado por padrão.

Assumindo

tank=2700 # or 1.2, or 12, whatever is the simplest
postal=88448

Como posso recuperar as informações de preço deste site em um script bash ?

    
por dessert 04.11.2017 / 09:52

1 resposta

1

Examinando cuidadosamente o código-fonte, consegui determinar a origem de onde a função javascript obtém as informações de preço:

<div class="options__field options__field--zip select-12">
  <label>PLZ <span class="small">Behälterstandort</span></label>
  <div class="input-box">
    <select name="options[4066]" id="select_4066"
      class=" product-custom-option" title="" data-placeholder="Ihre PLZ"
      data-url="https://www.meinfluessiggas.de/dfg/index/index/size/1.2/?v=1.1"
      data-size="12" data-chosentype="zip" onchange="opConfig.reloadPrice()">
      <option value="">Lädt...</option>
    </select>
  </div>
</div>

A parte interessante aqui é:

data-url="https://www.meinfluessiggas.de/dfg/index/index/size/1.2/?v=1.1"

Uma lista de preços pode ser obtida neste URL simplesmente com wget , incorporando as variáveis da pergunta:

$ tank=1.2
$ postal=88448
$ wget -qO- https://www.meinfluessiggas.de/dfg/index/index/size/$tank | sed 's/.*"\([^"]*\)" >'$postal'.*//'
0.4049

No URL, omiti /?v=1.1 porque parece não mudar nada (testado para 0,1 a 4,9).

    
por 04.11.2017 / 10:39