BeautifulSoup: Извлечь текст 'img alt' - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь разобрать img alt текст.

Ниже приведен HTML-код:

[<p class="number">
<img alt="1" src="/img/common_new/ball_1.png"/>
<img alt="10" src="/img/common_new/ball_10.png"/>
<img alt="13" src="/img/common_new/ball_13.png"/>
<img alt="26" src="/img/common_new/ball_26.png"/>
<img alt="32" src="/img/common_new/ball_32.png"/>
<img alt="36" src="/img/common_new/ball_36.png"/>
<span class="plus">+</span>
<span class="number_bonus"><img alt="9" src="/img/common_new/ball_9.png"/> 
</span>
</p>]

Что я хочу сделать, это получить img alt [1,10, 13,26,32,36,9] Что бы я ни сказалделать с помощью Beautifulsoup?

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Использование BeautifulSoup s find_all метод.

>>> import bs4
>>> html = '''<p class="number">
<img alt="1" src="/img/common_new/ball_1.png"/>
<img alt="10" src="/img/common_new/ball_10.png"/>
<img alt="13" src="/img/common_new/ball_13.png"/>
<img alt="26" src="/img/common_new/ball_26.png"/>
<img alt="32" src="/img/common_new/ball_32.png"/>
<img alt="36" src="/img/common_new/ball_36.png"/>
<span class="plus">+</span>
<span class="number_bonus"><img alt="9" src="/img/common_new/ball_9.png"/> 
</span>
</p>'''

>>> soup = bs4.BeautifulSoup(html, 'lxml')
>>> img_alt = []
>>> for img_tag in soup.find_all('img'):
...     img_alt.append(int(img_tag.get('alt')))  # typecasting to integer
>>> print(img_alt)
[1,10, 13,26,32,36,9]  # Output
0 голосов
/ 19 мая 2018

Сначала вам нужно установить bs4 и запросы.Откройте cmd и напишите:

pip install bs4
pip install requests

Тогда вот ваш код.

from bs4 import BeautifulSoup
import requests
r = requests.get('your website')
source = r.content
soup = BeautifulSoup(r.content, 'lxml') 

altlinks = []
imgalt_list = [1, 10, 13, 32, 36]

for x in soup.find_all('img', alt= True): #we find all img alt names
    if x['alt'] in imgalt_list: #if alt name matchs with your numbers
        altlinks.append(x.get('src')) #adding into list
print(altlinks)

Вы можете задать любую часть, которую вы не понимаете.

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