python - 无法从网页中抓取表格数据
问题描述
我试图从下面的页面中抓取表格数据,但它给了我“消息:没有这样的元素:无法找到元素”的错误。
下面的代码昨天运行良好,但现在生成错误。感谢这里有任何帮助。在此处输入图像描述
import time
import pandas as pd
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.headless = True
driver = webdriver.Chrome(options=options)
driver.get("https://www.binance.com/en/futures/funding-history/0")
time.sleep(5)
table = driver.find_element_by_xpath('//*[@class="rc-table-tbody"]')
data = []
for tr in table.find_elements_by_xpath('tr'):
columns = tr.find_elements_by_xpath('td')
data.append({
'Contract': columns[0].text,
'Funding Rate': columns[2].text
})
# Convert lits of dictionaries into a dataframe
df = pd.DataFrame(data)
解决方案
你tbody class name
错了。它应该是//*[@class='bn-table-tbody']
.//td
此外,要获得 tr和td,您的 xpath 应该是.//td
代码 :
driver.get("https://www.binance.com/en/futures/funding-history/0")
time.sleep(5)
table = driver.find_element_by_xpath("//*[@class='bn-table-tbody']")
data = []
for tr in table.find_elements_by_xpath('.//tr'):
columns = tr.find_elements_by_xpath('.//td')
print(columns[0].text)
print(columns[2].text)
data.append({
'Contract': columns[0].text,
'Funding Rate': columns[2].text
})
# Convert lits of dictionaries into a dataframe
df = pd.DataFrame(data)
进口:
RAYUSDT Perpetual
-0.0770%
SUSHIUSDT Perpetual
0.0100%
CVCUSDT Perpetual
0.0100%
BTSUSDT Perpetual
0.0100%
HOTUSDT Perpetual
0.0100%
ZRXUSDT Perpetual
0.0100%
QTUMUSDT Perpetual
0.0100%
IOTAUSDT Perpetual
-0.0061%
BTCBUSD Perpetual
0.0100%
WAVESUSDT Perpetual
0.0100%
ADAUSDT Perpetual
-0.0146%
LITUSDT Perpetual
0.0100%
NUUSDT Perpetual
0.0100%
XTZUSDT Perpetual
0.0100%
BNBUSDT Perpetual
0.0000%
AKROUSDT Perpetual
0.0100%
HNTUSDT Perpetual
0.0100%
ETCUSDT Perpetual
-0.0045%
XMRUSDT Perpetual
0.0100%
YFIUSDT Perpetual
0.0100%
FTTBUSD Perpetual
0.0100%
ETHUSDT Perpetual
0.0242%
ALICEUSDT Perpetual
0.0100%
ALPHAUSDT Perpetual
0.0100%
SFPUSDT Perpetual
0.0100%
REEFUSDT Perpetual
-0.0348%
BATUSDT Perpetual
0.0100%
DOGEUSDT Perpetual
0.0100%
RLCUSDT Perpetual
0.0100%
TRXUSDT Perpetual
0.0100%
STORJUSDT Perpetual
0.0100%
SNXUSDT Perpetual
0.0100%
1000XECUSDT Perpetual
0.0100%
AUDIOUSDT Perpetual
0.0100%
XLMUSDT Perpetual
0.0100%
IOTXUSDT Perpetual
0.0100%
NEOUSDT Perpetual
0.0100%
UNFIUSDT Perpetual
0.0100%
SANDUSDT Perpetual
0.0100%
DASHUSDT Perpetual
0.0100%
KAVAUSDT Perpetual
0.0100%
RUNEUSDT Perpetual
0.0100%
CTKUSDT Perpetual
0.0100%
LINKUSDT Perpetual
0.0100%
CELRUSDT Perpetual
0.0100%
RSRUSDT Perpetual
0.0100%
ADABUSD Perpetual
0.0067%
DGBUSDT Perpetual
0.0100%
SKLUSDT Perpetual
0.0100%
RENUSDT Perpetual
0.0100%
TOMOUSDT Perpetual
0.0100%
MTLUSDT Perpetual
0.0100%
LTCUSDT Perpetual
0.0100%
DODOUSDT Perpetual
0.0100%
KSMUSDT Perpetual
0.0100%
EGLDUSDT Perpetual
0.0100%
BNBBUSD Perpetual
0.0000%
VETUSDT Perpetual
0.0100%
ONTUSDT Perpetual
0.0100%
TRBUSDT Perpetual
0.0100%
MANAUSDT Perpetual
0.0100%
COTIUSDT Perpetual
0.0100%
CHRUSDT Perpetual
-0.0117%
BAKEUSDT Perpetual
0.0100%
GRTUSDT Perpetual
0.0100%
FLMUSDT Perpetual
0.0100%
MASKUSDT Perpetual
0.0100%
EOSUSDT Perpetual
0.0100%
OGNUSDT Perpetual
0.0100%
SCUSDT Perpetual
0.0100%
BALUSDT Perpetual
0.0100%
STMXUSDT Perpetual
0.0100%
BTTUSDT Perpetual
0.0100%
LUNAUSDT Perpetual
0.0100%
DENTUSDT Perpetual
0.0100%
KNCUSDT Perpetual
0.0100%
SRMUSDT Perpetual
0.0100%
ENJUSDT Perpetual
0.0100%
C98USDT Perpetual
0.0100%
ZENUSDT Perpetual
0.0100%
ATOMUSDT Perpetual
0.0100%
NEARUSDT Perpetual
0.0100%
SOLBUSD Perpetual
0.0100%
BCHUSDT Perpetual
0.0100%
ATAUSDT Perpetual
0.0100%
IOSTUSDT Perpetual
0.0100%
HBARUSDT Perpetual
0.0100%
ZECUSDT Perpetual
0.0100%
1000SHIBUSDT Perpetual
0.0039%
TLMUSDT Perpetual
0.0100%
BZRXUSDT Perpetual
0.0100%
ETHBUSD Perpetual
0.0100%
GALAUSDT Perpetual
0.0100%
AAVEUSDT Perpetual
-0.0648%
GTCUSDT Perpetual
0.0100%
ALGOUSDT Perpetual
0.0100%
ICPUSDT Perpetual
0.0100%
LRCUSDT Perpetual
0.0100%
AVAXUSDT Perpetual
0.0100%
ARPAUSDT Perpetual
0.0100%
CELOUSDT Perpetual
0.0100%
MATICUSDT Perpetual
0.0100%
1INCHUSDT Perpetual
0.0100%
MKRUSDT Perpetual
0.0100%
THETAUSDT Perpetual
0.0100%
UNIUSDT Perpetual
0.0100%
LINAUSDT Perpetual
0.0100%
ARUSDT Perpetual
0.0100%
RVNUSDT Perpetual
0.0100%
FILUSDT Perpetual
0.0100%
NKNUSDT Perpetual
0.0100%
KLAYUSDT Perpetual
0.0100%
DEFIUSDT Perpetual
0.0100%
COMPUSDT Perpetual
0.0100%
BTCDOMUSDT Perpetual
0.0181%
SOLUSDT Perpetual
0.0100%
BTCUSDT Perpetual
0.0295%
OMGUSDT Perpetual
-0.0784%
ICXUSDT Perpetual
0.0100%
BLZUSDT Perpetual
0.0100%
FTMUSDT Perpetual
0.0100%
YFIIUSDT Perpetual
0.0100%
KEEPUSDT Perpetual
0.0100%
BANDUSDT Perpetual
0.0100%
XRPBUSD Perpetual
0.0100%
DOGEBUSD Perpetual
0.0100%
XRPUSDT Perpetual
0.0100%
SXPUSDT Perpetual
0.0100%
CRVUSDT Perpetual
0.0100%
BELUSDT Perpetual
0.0100%
DOTUSDT Perpetual
0.0100%
XEMUSDT Perpetual
0.0100%
ONEUSDT Perpetual
0.0100%
ZILUSDT Perpetual
0.0100%
AXSUSDT Perpetual
-0.1329%
DYDXUSDT Perpetual
0.0100%
OCEANUSDT Perpetual
0.0100%
CHZUSDT Perpetual
0.0100%
ANKRUSDT Perpetual
0.0072%
CTSIUSDT Perpetual
0.0100%
推荐阅读
- php - 如何在使用 ob_flush() 执行 PHP 后使 div 消失
- reactjs - React - 如何调用另一个回调函数中的函数
- reactjs - 使用 FormData() 从 web 上传文档不起作用
- selenium-webdriver - TypeError:'WebElement' 对象不可迭代使用 python 获取此错误
- python - 对不属于表单的字段执行 Django 验证
- authentication - 身份验证失败的点击屋
- c# - 如何在应用程序的其他部分获取正确的 SignalR 集线器?
- python - 如何将 keras H5 转换模型的输入预处理为 pb 文件
- facebook - 我们应该如何将我们的 facebook `user_photos` 保存为 Graph Api?
- flutter - 颤振问题并发布http请求以使用烧瓶的nginx服务器进行身份验证