python-3.x - 用 Beautifulsoup 复制的元素
问题描述
这是网址:https://yorkathletics.com/sports/mens-swimming-and-diving/roster"
如果我运行这个命令:
soup.find_all('span', class_="sidearm-roster-player-height")
然后我尝试获取输出的长度,提到 20 而应该是 10。
我不明白为什么会这样。
解决方案
更改您的类选择器,如下所示:
import requests
from bs4 import BeautifulSoup as bs
r = requests.get('https://yorkathletics.com/sports/mens-swimming-and-diving/roster')
soup = bs(r.content, 'lxml')
print([i.text for i in soup.select('.height')])
注意:您可以使用 pandas 抓取整张桌子:
import pandas as pd
table = pd.read_html('https://yorkathletics.com/sports/mens-swimming-and-diving/roster')[2]
print(table)
推荐阅读
- oracle - 记录数和平均记录数查询 - Oracle
- java - 尽管为端点提供了 .withEndpointConfiguration,但 AWS Lambda Java“无法连接到服务端点:”
- mysql - 使用事务将一个巨大的 CSV 文件导入 MySQL
- amazon-web-services - 通过用户数据方法将文件从 S3 复制到 EC2
- php - 如何在 vs 代码中自动导入 laravel 类
- c - Subtleties dealing with cross compilation, freestanding libgcc, etc
- react-native - 升级到 React Native 0.62.0 获得警告标志 - “不再需要在 Animated 组件的 ref 上调用 `getNode()`
- linux - 如何为图像添加边框,使其大小可被 4 整除
- jython - 无法在 TigerJython 中使用 pickAFile
- javascript - 我如何获得 d3.scaleOrdinal