我已经添加了HTML和我编写的刮板程序。我希望p (2个p标签)标签的内容打印在1行。就像珍爱的阿丘瓦。然后在下一行中,我想打印另外两个p元素内容。
<td class="primary text RosterRow_primaryCol__19xPQ">
<a class="flex items-center t6 Anchor_complexLink__2NtkO" href="/player/1630173/precious-achiuwa/">
<div class="w-8 h-8 mr-2">
<img alt="Precious Achiuwa Headshot" class="PlayerImage_image__1smob PlayerImage_round__281uY" loading="lazy" src="https://cdn.nba.com/headshots/nba/latest/260x190/1630173.png"/>
</div>
<div class="flex flex-col lg:flex-row">
<p class="t6 mr-1">
Precious
</p>
<p class="t6">
Achiuwa
</p>
</div>
</a>
</td>from selenium import webdriver
from bs4 import BeautifulSoup as bs
driver = webdriver.Chrome(
executable_path=r'C:\Users\silvi\projects\selenium_basics\chromedriver.exe')
url = 'https://www.nba.com/players'
driver.get(url)
soup = bs(driver.page_source, 'lxml')
info_box = soup.find('table', class_='players-list')
names = info_box.find_all('p')
for name in names:
r = name.get_text(' ', strip=True)
print(r)
driver.quit()发布于 2021-06-17 03:58:25
要打印页面中的所有玩家名称,您可以使用以下示例:
import requests
from bs4 import BeautifulSoup
url = "https://www.nba.com/players"
soup = BeautifulSoup(requests.get(url).content, "html.parser")
for tag in soup.select("tbody .primary"):
print(tag.get_text(strip=True, separator=" "))打印:
Precious Achiuwa
Jaylen Adams
Steven Adams
Bam Adebayo
LaMarcus Aldridge
Ty-Shon Alexander
Nickeil Alexander-Walker
Grayson Allen
Jarrett Allen
Al-Farouq Aminu
Kyle Anderson
Giannis Antetokounmpo
Kostas Antetokounmpo
Thanasis Antetokounmpo
Carmelo Anthony
Cole Anthony
OG Anunoby
Ryan Arcidiacono
Trevor Ariza
D.J. Augustin
Deni Avdija
Deandre Ayton
Udoka Azubuike
Dwayne Bacon
Marvin Bagley III
LaMelo Ball
Lonzo Ball
Mo Bamba
Desmond Bane
Harrison Barnes
RJ Barrett
Will Barton
Keita Bates-Diop
Nicolas Batum
Aron Baynes
Kent Bazemore
Darius Bazley
Bradley Beal
Malik Beasley
Jordan Bell
DeAndre' Bembry
Davis Bertans
Patrick Beverley
Saddiq Bey
Tyler Bey
Khem Birch
Goga Bitadze
Bismack Biyombo
Nemanja Bjelica
Eric Bledsoehttps://stackoverflow.com/questions/68009210
复制相似问题