Как очистить текст в атрибуте заголовка, используя красивый суп? - PullRequest
0 голосов
/ 18 апреля 2020

Я очищаю этот сайт, используя красивый суп, и мне нужно полностью узнать название продукта. Когда я использую тег h2, я получаю такие названия, как «Увлажняющий крем с ароматом ягодного цвета NIVEA Soft Light ...».

Мне не нужны эти точки в конце, просто полное имя. Вот мой фрагмент кода для очистки данных:

div_soup=data_soup.findAll('div',{'class':'product-list-box card desktop-cart'})

table_rows=[]
for div in div_soup:
   current_row=[]
   product_name=div.findAll('h2',{})
   product_price=div.findAll('span',{'class':'post-card__content-price-offer'})
   for idx,data in enumerate(product_name):
       current_row.append(data.text)
   for idx,data in enumerate(product_price):
       current_row.append(data.text)
   table_rows.append(current_row)

Я не могу найти подходящий тег для использования, а также, если я должен передать что-то в словаре.

URL-адрес сайт, который я просматриваю: https://www.nykaa.com/skin/moisturizers/face-moisturizer-day-cream/c/8394?root=nav_3

1 Ответ

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

for idx,data in enumerate(product_name): if data.get('title') is not None: current_row.append(data['title'])

Должен делать то, что вы хотите

Также может быть лучше изменить ваш код как

product_name=div.find('h2', {'title': True).get('title')

Так вы будете просто найдите тег h2 с атрибутом title, и вы можете избежать для l oop

...