Проблема с навигацией BeautifulSoup по тегам XPath (прохождение Nonetype)

Прошу совета. Есть задач – из большой страницы вытягивать данные отдельных ячеек. Для этого скачивается страница так (тут все работает):

import requests
from bs4 import BeautifulSoup

url='https://car.autohome.com.cn/config/spec/52323.html#pvareaid=3454569' 
r=requests.get(url)
r.text
soup = BeautifulSoup (r.text, 'lxml')
soup

Далее в коде есть как число необходимая цифра, к ней ведет путь:

/html/body/div[3]/div[3]/table[3]/tbody/tr[2]/td[1]/div

(получено копированием Full XPath Chrome)

Я последовательно иду к целевому тегу, подставляя по одному значения

print (type(soup.html.body))

– до этого момента все норм. Тут в анализе типа контента '<class 'NoneType'>' содержимое None.

print ((soup.html.body.find_all('div')))

находит много тегов div

Следующий уровень

print (type(soup.html.body.div[3]))

– на этом моменте появляется ошибка 'KeyError: 3' Такая ошибка есть в документации BeautifulSoup, и там рекомендуют заменить на tag.get('attr') Я поменял так

print (soup.html.body.div.get('3'))

– Несмотря на то, что система выдает сообщение о том что контент None, я не уверен, правильно ли поменял. На следующий уровень вниз зайти не могу. Выдача – None Type – Nonetype При добавлении следующего тега последовательно

print (soup.html.body.div.get('3').div.get('3'))

указывается

AttributeError: 'NoneType' object has no attribute 'div'

Попытка использовать команды find_all, child, children, content дают такой эффект. AttributeError: 'NoneType' object has no attribute 'child'

В связи с этим вопрос – как мне пройти на уровень ниже. Там даже 3 вопроса:

  1. Как убедится что BS 4 получил тот же самый код, который я вижу на сайте (искомая цифра поиском в коде, скачанным BS4 находится, так что думаю, что да, поскольку она еще глубже.
  2. Как осуществить переход на уровень ниже.

Ответы (0 шт):