Как мне извлечь этот кусок текста - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь получить электронное письмо с помощью кода ниже.

<div class="col-lg-4" style="border-left:1px solid #d0d0d0;">

    <p>
        <img class="img-responsive" src="/uploads/logos/b75ba9c72de548d665b233d547d92402.jpg" alt="    AJ Navalho">
    </p>
    <h4>    AJ Navalho</h4>
    <p>SEDE/LOJA<br>

    Rua Rómulo de Carvalho, n.º 15
    <br>

    Pendão - 2745-373 Queluz
    <br>

    <br>

    ARMAZÉM
    <br>

    Rua Mário Castelhano, n.º 42
    <br>

    Queluz de Baixo
    <br>

    2745-575 Barcarena
    </p>
    <h3>
        <i class="fa fa-phone"></i>
         21 435 38 67
    </h3>
    <p>
        <i class="fa fa-envelope"></i> 
        ajnavalho@ajnavalho.pt
    </p>
</div>

Как мне получить электронное письмо от класса fa fa-envelope?Я плохо разбираюсь в html, поэтому понятия не имею, что такое #text, если это вообще что-то значит.

Ответы [ 2 ]

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

Это сработало для меня:

from bs4 import BeautifulSoup
import urllib
r = urllib.urlopen("https://www.oportaldaconstrucao.com/empresa/1964/aj-navalho/").read()
soup = BeautifulSoup(r, 'lxml')
letter = soup.find_all("i", class_="fa fa-envelope")[0].next_sibling
print letter

Вывод:

ajnavalho@ajnavalho.pt
0 голосов
/ 15 мая 2018

Использование BeautifulSoup

Демонстрация:

from bs4 import BeautifulSoup
s = -->>Your HTML
soup = BeautifulSoup(s, "html.parser")
print(soup.find("i", class_="fa fa-envelope").parent.text.strip())

Выход:

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