Почему я не могу очистить весь контент в атрибуте data-src этого HTML - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь очистить все данные в элементе 'data-src' этого HTML-текста:

[<div class="js-delayed-image-load" data-alt="A man covers his face during a sandstorm in Cairo, Egypt, 16 January 2019" data-height="549" data-src="https://ichef.bbci.co.uk/news/320/cpsprodpb/5DE9/production/_105214042_hi051682579.jpg" data-width="976"></div>,

, , , , , , , , , , , , , , , , , , , , ]

Я использую этот код:

image_containers = soup.find_all('div', class_ = 'js-delayed-image-load')
print(type(image_containers))
print(len(image_containers))

for image in image_containers:
    image.div['data-src']

И это дает мне эту ошибку:

TypeError                                 
Traceback (most recent call last)
<ipython-input-546-fa82366c888d> in <module>()
  4 image_containers
  5 for image in image_containers:
 ----> 6     image.div['data-src']

TypeError: 'NoneType' object is not subscriptable

Почему это дает мне None? Может кто-нибудь сказать, пожалуйста, что я делаю не так?

Спасибо!

1 Ответ

0 голосов
/ 18 января 2019

image уже является целевым div узлом. Вам не нужно извлекать div еще раз (у него нет дочернего элемента div, поэтому image.div возвращает None). Попробуйте

for image in image_containers:
    image['data-src']
...