第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 BS4 搜索特定單詞,然后在該單詞之后立即獲取同一元素中的文本?

如何使用 BS4 搜索特定單詞,然后在該單詞之后立即獲取同一元素中的文本?

湖上湖 2023-06-20 17:31:06
我是 BeautifulSoup 和 Python 的新手。我正在抓取一些頁面,有時會給出電話號碼,有時卻沒有。如果它在那里,我想刮掉它。HTML 非常簡單:<div>    <p>Email: someone@somewhere.com</p>    <p>Telephone: 1234567890</p>    <p>Postal code: B3H 2F5</p></div>我正在檢查電話號碼是否存在,如下所示:phoneNumber = soup.find(string='Telephone:')if phoneNumber:    phoneNumber = # Some code here to get the actual number else:    phoneNumber = ('None')print (phoneNumber)該 div 中通常還有其他幾個 p 標簽,但并不總是存在相同的標簽,因此我不能依賴它們作為參考點。電話號碼也不總是遵循相同的模式。我能做的最好的事情就是確定電話號碼始終以“電話:”開頭并包含在 ap 標簽中。這似乎是找到它的唯一可靠方法。我不明白的是如何獲得實際的電話號碼,即“電話:”后的標簽如何在“電話:”一詞后獲取此元素中的數字?
查看完整描述

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


查看完整回答
反對 回復 2023-06-20
?
當年話下

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')


查看完整回答
反對 回復 2023-06-20
  • 2 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號