2 回答

TA貢獻1712條經驗 獲得超3個贊
使用一些正則表達式邏輯,您可以直接找到<p>包含電話號碼的標簽:
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貢獻1890條經驗 獲得超9個贊
事實證明,我不知道使用 搜索此字符串的更好方法re.compile。我會在這里發(fā)布答案,以防其他人正在尋找同樣的東西。
對我有用的是:
phoneNumber = soup.find('p', text = re.compile('Telephone:'))
這給了我字符串出現的整個 p 標簽,我一開始沒有意識到,所以我可以這樣做:
if phoneNumber:
phoneNumber = phoneNumber.get_text().strip().replace('Telephone:', '')
else:
phoneNumber = ('None')
添加回答
舉報