gpt4 book ai didi

python - td 数据的网络抓取

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:08 28 4
gpt4 key购买 nike

有人可以向我解释为什么我的代码没有获取 PriorSettle td 的吗?我收到了几个月的信息,但无论出于何种原因,PrioSettle 列都没有出现。

lc_result={}

url = "http://www.cmegroup.com/trading/agricultural/livestock/live-cattle.html"

driver = webdriver.Chrome()
driver.set_window_size(2,2)
driver.get(url) #this will go the the actual url listed
print(' Live Cattle Futures'+localtime.center(50))
table = driver.find_element_by_id('quotesFuturesProductTable1')
for row in table.find_elements_by_tag_name('tr')[2:]:
month=row.find_elements_by_tag_name('td')[0].text
priorsettle=row.find_elements_by_tag_name('td')[4].text

print month, priorsettle
lc_result[month]=[priorsettle]

driver.close()
print(str(date.today()))

最佳答案

您需要等待表格加载。只需添加延迟即可使其对我有用:

driver.get(url)

time.sleep(3)

table = driver.find_element_by_id('quotesFuturesProductTable1')
...

打印:

DEC 2014 168.025
FEB 2015 166.900
APR 2015 164.775
JUN 2015 154.800
AUG 2015 152.900
OCT 2015 154.100
DEC 2015 154.250
FEB 2016 153.850
APR 2016 0.000

仅供引用,使用 time.sleep() 的隐式超时并不是一种可靠且推荐的等待元素的方法。 Selenium 内置 Waits机制。

关于python - td 数据的网络抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26472401/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com