BeautifulSoup获取文字链接?

时间:2016-12-06 21:46:32

标签: python python-2.7 python-3.x beautifulsoup

我有以下代码:

soup = BeautifulSoup(content, "html.parser")
block = soup.select('.meta-info a')

我需要获取阻止.meta_info

中的所有链接

我尝试从阵列block获取所有链接文本后,只将电子邮件地址作为文本链接。

我的意思是:

<a href="">Bla bla email@gmail.com</a>

我怎样才能得到它?

我试过:

 for item in block:
            email_par = emailFromString(item.text)

            if email_par[0]:
                pass

但它不稳定

2 个答案:

答案 0 :(得分:1)

此链接可能会有所帮助css select with regex

如果你仍然想不通试试这个, 确保你拥有最新版本的BeautifulSoup

import re
soup = BeautifulSoup(content, "html.parser")
block = soup.select('.meta-info a')

emails = block.find_all(text=re.compile('.*@.*\.com'))

现在您可以迭代它并从每个链接中提取文本

答案 1 :(得分:1)

import re
soup.find_all(name='a', text=re.compile(r'@'))