Python 无法使用BeautifulSoup打印“p”标记内的文本

Python 无法使用BeautifulSoup打印“p”标记内的文本,python,html,web-scraping,beautifulsoup,Python,Html,Web Scraping,Beautifulsoup,非常简单的代码 import requests from bs4 import BeautifulSoup link = 'https://www.birdsnest.com.au/brands/boho-bird/73067-amore-wrap-dress' page = requests.get(link) soup = BeautifulSoup(page.content, 'html.parser') page_new = soup.find('div', class_='model

非常简单的代码

import requests
from bs4 import BeautifulSoup

link = 'https://www.birdsnest.com.au/brands/boho-bird/73067-amore-wrap-dress'
page = requests.get(link)
soup = BeautifulSoup(page.content, 'html.parser')
page_new = soup.find('div', class_='model-info clearfix')
results = page_new.find_all('p')
for result in results:
    print(result.text)
输出

usually wears a size .
                She is wearing a size  in this style.
              
Her height is .

Show ’s body measurements
问题是模型的名称在标记内,而跨度在标记内。 像这样

玛尼通常穿8号的。 她穿这种款式的10号。

她的身高是178厘米

显示马尼的身体尺寸


模型名称是动态生成的。试试这个:

from bs4 import BeautifulSoup
from selenium import webdriver
import time

link = 'https://www.birdsnest.com.au/brands/boho-bird/73067-amore-wrap-dress'

driver = webdriver.Chrome()
driver.get(link)
time.sleep(3)

soup = BeautifulSoup(driver.page_source, 'html.parser')
driver.close()
page_new = soup.find('div', class_='model-info clearfix')
results = page_new.find_all('p')
for result in results:
    print(result.text)
输出:

Marnee usually wears a size 8.
                She is wearing a size 10 in this style.
              
Her height is 178 cm.
Show Marnee’s body measurements
Marnee’s body measurements are:
Bust 81 cm
Waist 64 cm
Hips 89 cm

我必须使用硒吗?不能对请求执行此操作吗?当您执行requests.get时,p标记中不存在模型名称。这意味着它是动态加载的。所以你必须使用硒。别无选择。