Beautifulsoup очищает данные-слизняк

#python #beautifulsoup #screen-scraping

#python #прекрасный суп #соскабливание сита

Вопрос:

Я хотел бы получить значение data-slug из содержимого страницы, например, как показано ниже:

 ...
<div class="my_class" data-slug="I_want_to_scrap_it" data-title="Title">
<br> Some text </div>
...
 

Я нашел его с помощью метода find_all(class_=»my_class»), но я не знаю, как извлечь из него «I_want_to_scrap_it». Конечно, я могу преобразовать его в строку и получить подстроку, но, возможно, для этого есть довольно простой метод Beautifulsoup.

Спасибо и хорошего дня!

Комментарии:

1.Это очистка , а не утилизация

2. Хорошо, спасибо. Теперь это очистка.

3. @MartinDomino не помешало бы показать нам ваш код. Помогло бы нам получить представление.

Ответ №1:

Вот один из примеров:

 html = '''<div class="my_class" data-slug="I_want_to_scrap_it" data-title="Title">
<br> Some text </div>
'''

# solution using BeautifulSoup
from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html5lib')

div = soup.select('div.my_class')[0]
data_slug = div.get('data-slug')
print(data_slug)
 

data-slug является атрибутом и может быть извлечен с помощью функции get() .

Комментарии:

1. Спасибо вам, Александра!