Как получить доступ к элементам братьев и сестер на сайте во время очистки с помощью Python и Beautiful soup - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь очистить "лист-ключевые спецификации" этого сайта:

https://www.autotrader.co.uk/car-search?radius=30&postcode=ss156ee&onesearchad=Used&make=Renault&model=zoe&page=1

Но меня интересует только спецификация миль, а не bhp или любая другаяspec.

если я наберу

specs=article.find('ul',class_="listing-key-specs")
print(specs.text)

, я могу получить 6 единиц информации:

2015 (65 reg)
Hatchback
13,033 miles
88bhp
Automatic
Electric**

Если я наберу

print(specs.li.text)

Iполучит только первую спецификацию, т.е.

2015 (65 рег)

Как выбрать конкретную часть спецификации?скажем, спецификация «миль»?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Или просто:

print(specs('li')[2].text)

Вывод:

15,285 miles
0 голосов
/ 22 февраля 2019

Вы можете извлечь первого ребенка li

from bs4 import BeautifulSoup as bs
import requests
res= requests.get('https://www.autotrader.co.uk/car-search?radius=30&postcode=ss156ee&onesearchad=Used&make=Renault&model=zoe&page=1')
soup = bs(res.content, 'lxml')
details = [item.text for item in soup.select('.listing-key-specs li:first-child')]
print(details)

Менее эффективным является

.listing-key-specs li:nth-of-type(1)

или

.listing-key-specs :nth-child(1)

или

.listing-key-specs li:first-of-type
  • Я использую последнюю версию BeautifulSoup 4.7.1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...