извлечь значение data-sr c из тега img с указанными атрибутами c - PullRequest
0 голосов
/ 03 мая 2020

Я пишу python код для извлечения значения data-sr c из определенного тега img с определенными атрибутами. Я использую атрибут класса, но в нем есть разные значения.

вот два примера, откуда я извлекаю.

<img class="img-fluid lazy"  data-src="https://d1bng4dn08r9r5.cloudfront.net/contents/cover-1588341903.png"
alt="Happy 1st day of the month??"
src="https://www.simrankaurapp.com/img/icons/default-img.png" />

<img class="img-fluid lazy blur-img image5ea68b9463389011485bf592" 
      data-src="https://d1bng4dn08r9r5.cloudfront.net/contents/cover-1587973008.jpg"
alt="Everyday is more than just tongue-out tuesday??"
src="https://www.simrankaurapp.com/img/icons/default-img.png" />

А вот мой код

elements = soup.findAll('img',{'class', 'img-fluid lazy'})
for element in elements:
    print(element['data-src'])

Я хочу получить оба URL в текстовом файле, но не могу этого сделать. Страница также имеет бесконечный свиток, и я хочу достичь дна, если страница.

1 Ответ

0 голосов
/ 03 мая 2020

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

import re
soup.find_all('img', {'class': re.compile('^img-fluid lazy.*')})

Вы можете найти больше здесь: Найти частичные имена классов в промежутках с Beautiful Soup

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