bash 스크립트로 www.meinfluessiggas.de에서 가격 정보를 검색하는 방법은 무엇입니까?

bash 스크립트로 www.meinfluessiggas.de에서 가격 정보를 검색하는 방법은 무엇입니까?

존재하다https://www.meinfluessiggas.de사용자는 탱크 크기 버튼("Behältergröße" 섹션)을 클릭하고 우편번호("PLZ Behälterstandort" 섹션)를 입력해야 오른쪽에 가격이 표시됩니다. bash스크립트에서 이를 자동화 하고 싶지만 올바른 정보를 검색하는 데 문제가 있습니다.

wget https://www.meinfluessiggas.de

페이지 소스가 올바르게 로드되지만 가격 정보가 포함되어 있지 않습니다. 가격 정보를 불러올 수 있는 자바스크립트 함수가 있다는 것을 알게 되었는데, 다음과 같습니다.SU: js를 지원하는 명령줄 브라우저나는 노력했다

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

일부 가격 정보가 포함된 소스 코드를 검색하지만 안타깝게도 탱크 크기가 가장 작은 경우에만 버튼이 기본적으로 선택됩니다.

가설

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

bash이 웹사이트의 가격 정보를 스크립트로 어떻게 검색할 수 있나요 ?

답변1

소스 코드를 주의 깊게 조사하여 javascript 함수가 다음에서 가격 정보를 가져오는 위치를 확인할 수 있었습니다.

<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>

여기서 흥미로운 부분은 다음과 같습니다.

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

wget질문의 변수와 결합된 해당 URL에서 가격 목록을 가져오는 데 사용하세요 .

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

/?v=1.1URL에서는 아무 것도 변경되지 않은 것 같아서 생략했습니다 (0.1에서 4.9까지 테스트됨).

관련 정보