Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Разобрать html красивый суп

Автор вопроса: AlexanderОтветов: 1

У меня есть html-страница

<a email="[email protected]" href="http://www.max.ru/agent?message&[email protected]" title="Click herе" class="mf_spIco spr-mrim-9"></a><a class="mf_t11" type="booster" href="http://max.ru/mail/corporate/">

Мне нужна строка синтаксического анализа электронной почты

    soup = BeautifulSoup(data
    string = soup.find("a",{"email": ""})
    print string

Но это не работает. Где ошибка?

pythonbeautifulsoupregex

Ответы

Ответ 1 · рейтинг 4 · Day

Ваша ошибка заключалась в использовании словаря attrs для поиска элементов с пустым атрибутом электронной почты. Попробуйте это вместо этого.

#!/usr/bin/env python

from BeautifulSoup import BeautifulSoup
import urllib2

req = urllib2.urlopen('http://worldnuclearwar.ru')

soup = BeautifulSoup(req)
print soup.find("a", email=True)["email"]

Чтобы напечатать атрибут email первого элемента a, который имеет атрибут email. Если вам нужны все электронные письма, попробуйте

for link in soup.findAll("a", email=True):
    print link["email"]

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы