Python 3 - Информация об Scrap Inner Div с BS4 - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь очистить какой-то сайт с BeautifulSoup, но я не могу заставить его работать.На сайте есть основной div, я беру этот div с этим кодом:

for divs in soup.find_all('div', {'class': 'row div-1'}): #I'm taking main div

     innerDivs = divs.find_all('div') #Taking inner div's in main div

     for inner in innerDivs: #loop for all inner divs

          print(inner) # I can print every inner div so it's working

Здесь одна внутренняя структура div:

<div class="inner-div preset multi">
<img class="img-resp high" data- 
src="https://image.test.co/skin/54asd15q1we12as1d1q/png.png" 
title="New Skin" width="100%"/>
</div>

Я хочу получить доступ к "title" и изображениюНо я не знаю как.Я пробовал 'inner.title' и т.д., но мне не удалосьСпасибо за предложения!

1 Ответ

0 голосов
/ 04 июня 2018

Сначала вам нужно найти все <img> теги, а затем просто получить их атрибуты, в вашем случае это атрибут ['title'].

В вашем примере у вас есть только один тег изображения, поэтомуВы можете получить его через индекс списка [0], а затем получить его атрибуты.

from bs4 import BeautifulSoup


template = """
<div class="inner-div preset multi">
<img class="img-resp high" data- 
src="https://image.test.co/skin/54asd15q1we12as1d1q/png.png" 
title="New Skin" width="100%"/>
</div>
"""

source = BeautifulSoup(template, 'html.parser')

images = source.find_all('img')
print(images[0]['title']) # New skin
print(images[0]['src']) # https://image.test.co/skin/54asd15q1we12as1d1q/png.png
print(images[0]['width']) # 100%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...