用Beautiful Soup解析HTML

0 投票
1 回答
3194 浏览
提问于 2025-04-16 04:54

我有一个HTML页面

<a email="corporate@max.ru" href="http://www.max.ru/agent?message&to=corporate@max.ru" 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

但是它没有工作。哪里出错了?

1 个回答

4

你的错误在于使用了 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"]

这个代码会打印出第一个 a 元素的 email 属性,前提是这个元素有 email 属性。如果你想要获取所有的邮箱,可以试试下面的代码:

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

撰写回答