如何使用Beautifulsoup从<span标签获取文本

时间:2020-03-01 08:57:36

标签: python html beautifulsoup

我的代码需要一点帮助。我正在学习Python和漂亮的汤,以便从Dell网站上抓取一些数据。

我需要从特定服务器获取服务标签,保修和服务代码,但我不了解如何导航HTML树。

到目前为止,这是我的代码。

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from bs4 import BeautifulSoup
import time

options = Options()
options.add_argument('--headless')
driver = webdriver.Firefox(options=options, executable_path=r'/Users/peterfranca/Downloads/geckodriver')
driver.get("https://www.dell.com/support/home/ca/en/cadhs1/product-support/servicetag/0-NE9lVXI4NlpmbjFtRHJBbTF0dDhoQT090/overview")

time.sleep(1)
soup = BeautifulSoup(driver.page_source, 'html.parser')

for model in soup.findAll('h1', {'class':'mb-3 mb-lg-1 text-center text-lg-left position-relative word-break'}):
    print(model.text)

for tag in soup.findAll('p', {'class':'service-tag mb-0'}):
    print(tag.text)

for warranty in soup.findAll('p', {'id':'warrantyExpiringLabel'}):
    print(warranty.text)

for sertag in soup.findAll('p', {'class':'font-weight-medium text-jet'}):
    print(sertag.text)

driver.quit()

最后一个“ for”是我无法弄清楚如何获取正确数据的地方。

for sertag in soup.findAll('p', {'class':'font-weight-medium text-jet'}):
    print(sertag.text)

基本上,我想运行以上代码块并获取以下输出。

Express Service Code: 14270045690

有人可以帮我吗? 谁能也向我解释如何在HTML树中以正确的方式导航?

1 个答案:

答案 0 :(得分:0)

for sertag in soup.findAll('span', {'class': 'font-weight-medium text-jet'})[1]:
    print(sertag, sertag.next_element.strip())