2 回答

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
使用一些正則表達(dá)式邏輯,您可以直接找到<p>包含電話號(hào)碼的標(biāo)簽:
import re
from bs4 import BeautifulSoup
html = """<div>
<p>Email: someone@somewhere.com</p>
<p></p>
<p>Postal code: B3H 2F5</p>
<p>Telephone: 1234567890</p>
</div>"""
soup = BeautifulSoup(html)
#Find the tag containing "Telephone:"
phone_tag = soup.find('p', text=re.compile('Telephone:'))
if phone_tag:
phone = phone_tag.text.replace('Telephone:','').strip()
else:
phone = None

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
事實(shí)證明,我不知道使用 搜索此字符串的更好方法re.compile。我會(huì)在這里發(fā)布答案,以防其他人正在尋找同樣的東西。
對(duì)我有用的是:
phoneNumber = soup.find('p', text = re.compile('Telephone:'))
這給了我字符串出現(xiàn)的整個(gè) p 標(biāo)簽,我一開始沒(méi)有意識(shí)到,所以我可以這樣做:
if phoneNumber:
phoneNumber = phoneNumber.get_text().strip().replace('Telephone:', '')
else:
phoneNumber = ('None')
添加回答
舉報(bào)