Доступ к заголовку в webscraping с python - PullRequest
0 голосов
/ 24 апреля 2020

Я новичок, когда дело доходит до очистки веб-страниц с Beautifulsoup и python. С помощью yt-videos мне удалось приблизиться к моей цели, которая заключается в том, чтобы извлечь название автомобиля из многих списков автомобилей на стороне продажи автомобилей. Тем не менее, я на последнем шаге и не знаю, как получить доступ к названию машины:

Это мой код (я только что следовал примеру YouTube):

page_soup = soup(page_html, "html.parser")
containers = page_soup.findAll("div",{"class":"ads__unit__content"})
contain = containers[0]
container = containers[0]

Когда я извиняюсь : container.h2.a

Я получаю:

Mercedes-Benz E-klasse Внедорожный E220d 4M Внедорожный

Как мне сделать последний шаг всего получить название автомобиля "Mercedes-Benz E-klasse All-Terrain E220d 4M All-Terrain"?

Если я, например, сделаю

container.h2.a["id"]

, я получу "163525571". Но в названии машины нет ничего подобного id =. = 1017 *

Надеюсь, вы понимаете мой вопрос. Я очень, очень плохо знаком с Python и не знаю много об этом.

С уважением

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Для доступа к тексту элемента вы можете использовать атрибут .text. Это вернет все текстовые узлы внутри этого конкретного узла.

Чтобы получить доступ к определенному c дочернему тексту, вы можете проиндексировать его следующим образом:

soup.find('div', {'class': 'ads__unit__content__keys'}).findAll('div')[2]

Это вернет текст внутри 3-го дочернего элемента div, который имеет класс ads__unit__content__keys ,

Также добро пожаловать на SO: D

0 голосов
/ 24 апреля 2020

Если вы знаете точное положение тега, попробуйте следующее. Надеюсь, это поможет вам.

container.h2.text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...