用Beautiful Soup解析HTML
我有一个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"]