2015-02-02 2 views
1

Я пытаюсь получить таймер на следующем аукционе, чтобы сделать Снайпер:Как получить Аукциона времени с BeautifulSoup Python

http://www.vakantieveilingen.nl/veiling-van-de-dag.html

Мне нужно время аукциона который я могу найти в:

<div class="auction-time"> 
    <span class="h-init h-time-tick 
     ng-valid ng-binding ng-dirty" 
     ng-hide="popup.laughingSecondPrice > 0" 
     ng-model="auction.time" ng-bind-html="auction.time.left|timeLeftFormatForBiedWidget" 
     h-model-name="expires"><strong>03</strong><i>:</i><strong>31</strong> 
    </span> 
    <span ng-show="popup.laughingSecondPrice > 0" class="ng-hide">Gesloten</span> 
</div> 

Я не могу найти правильный путь для этого. Может ли кто-нибудь показать мне путь?

ответ

1

Все, что вам нужно, это CSS selector, чтобы захватить span элемент в div элемент с auction-time класса:

auction_time_span = soup.select('.auction-time span.h-time-tick')[0] 
print(auction_time_span.get_text()) 

element.get_text() function возвращает содержала значение строки.

Демо:

>>> import requests 
>>> from bs4 import BeautifulSoup 
>>> response = requests.get('http://www.vakantieveilingen.nl/veiling-van-de-dag.html') 
>>> soup = BeautifulSoup(response.content) 
>>> soup.select('.auction-time span.h-time-tick')[0].get_text() 
u'2015-02-02T22:32:00+01:00' 

Время и дата в формате HTML служил преобразуется к относительному времени Javascript кода в браузере.

+0

u'2015-02-02T22: 32: 00 + 01: 00 '- это не то же самое, что и аукцион-END-время (?), Или я ошибаюсь – FrEaKi

+0

@FrEaKi: Это то, что содержится в HTML, браузера. * Javascript code * может изменить отображение этого. –

+0

@FrEaKi: какое значение вы ожидали вместо этого? –

Смежные вопросы