Как очистить скрипт Handlebar. js в Python? - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь соскрести Euronorm и CO2 из списка автомобилей на веб-сайте аукциона. До сих пор мне удалось перейти на правильную веб-страницу аукциона и загрузить эту веб-страницу с помощью Selenium. Мне нужна информация {{CO2Emission}} и {{EmissionClass}} для всех автомобилей в следующем скрипте:

<script id="lot-template" type="text/x-handlebars-template">
    <li data-id="{{Id}}">
        <a href="{{LotUrl}}">
            {{#if IsFollowing}}<figcaption><i class="fa fa-star"></i></figcaption>{{/if}}
            <img src="{{ImagePath}}" alt="{{LocaleName}}" />
        </a>
        <div class="list-info">
            <h3>
                <a class="car-title" href="{{LotUrl}}">{{LocaleName}}</a>
            </h3>
            <ul class="item-specs">
                <li>Objectnumber: {{Number}}</li>
                {{#if EngineSize}}
                <li>CC: {{EngineSize}}</li>{{/if}}
                <li>Fuel: {{FuelType}}</li>
                {{#if PowerKW}}
                <li>KW: {{PowerKW}}</li>{{/if}}
                {{#if CO2Emission}}
                <li>CO2: {{CO2Emission}} g/km</li>{{/if}}
                {{#if EmissionClass}}
                <li>Euronorm: {{EmissionClass}}</li>{{/if}}
                {{#if FirstInUse}}
                <li> First Registration: {{date FirstInUse}}</li>{{/if}}
                {{#if Mileage}}
                <li>Counter: {{Mileage}} {{MileageType}}</li>{{/if}}
                {{#if Location}}
                <li>Location {{Location}}</li>{{/if}}
                {{#if LicensePlate}}
                <li>License plate {{LicensePlate}}</li>{{/if}}
            </ul>
        </div>
        <div class="btnrow">
            
            {{#if HasBid}}
            <span class="extra">My bid (Excl VAT): <strong>&euro; {{BidAmount}}</strong></span>
            {{/if}}
            {{#if IsOpenForBids}}
            <a href="{{BidUrl}}" class="btn fancyboxIframe fancybox.ajax"><i class="fa fa-gavel"></i>{{#if HasBid }}Change Bid{{else}}Bid now{{/if}}</a>
            {{/if}}
            <a class="btn" href="{{LotUrl}}"><i class="fa fa-arrow-right"></i> details</a>
        </div>
    </li>
</script>

Можно ли получить информацию из этого скрипта? Я немного застрял и хотел бы знать, как действовать дальше. Я новичок в парсинге веб-страниц, поэтому в данный момент я просто пробую разные варианты.

Спасибо!

1 Ответ

0 голосов
/ 05 августа 2020

Вы не сможете получить необходимую информацию из этого шаблона руля. Шаблон комбинируется с данными для получения HTML, поэтому у вас есть два варианта извлечения необходимых данных:

  • Анализировать HTML, созданный с помощью этого шаблона
  • Найдите источник данных, которые попадают в этот шаблон

Источником данных может быть API или в какой-либо форме, не требующей очистки, поэтому я бы сначала попробовал, а затем попробую синтаксический анализ HTML.

Было бы полезно знать, какой сайт / страницу вы пытаетесь очистить.

...