Beautifulsoup删除标签

时间:2018-02-16 20:03:37

标签: python python-3.x beautifulsoup

我正在运行此代码,以便使用BS4从网站上删除邮政编码。

from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

my_url = "https://example.com"

uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()

# html parsing
page_soup = soup(page_html, "html.parser")

# grabs each zip code
zip_code = page_soup.findAll("span",{"itemprop":"postalCode"})

print(zip_code)

我最终得到了这个代码,这只是一个跨度列表。每个范围都包含我需要的邮政编码。

[<span itemprop="postalCode">03257</span>, <span 
itemprop="postalCode">34240</span>, <span 
itemprop="postalCode">84660</span>, <span 
itemprop="postalCode">07717</span>]

但是,我无法弄清楚如何删除所有内容但是在span标签之间的邮政编码。目标是最终得到一个邮政编码列表。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

要仅获取代码中的文字,请使用tag.text

zip_codes = page_soup.find_all("span", {"itemprop": "postalCode"})
zip_codes = [tag.text for tag in zip_codes]

print(zip_codes) # ['03257', '34240', '84660', '07717']