为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用python从网站实时获取一些数据?

如何使用python从网站实时获取一些数据?

HUX布斯 2022-09-13 17:40:04
我想从网站上获取数据https://web.sensibull.com/optionchain?expiry=2020-03-26&tradingsymbol=NIFTY我正在使用美图库来获取此数据,并尝试了以下代码:import requestsimport urllib.requestimport timefrom bs4 import BeautifulSoupurl = 'https://web.sensibull.com/optionchain?expiry=2020-03-26&tradingsymbol=NIFTY'response = requests.get(url)soup = BeautifulSoup(response.text, 'html.parser')b = soup.find("div", {"class": "style__AtmIVWrapper-idZNMX kUMMRI"})print(b)但它显示“无”作为输出。虽然在完整的HTML代码中只有一个这样的类,但我也试过这个:for b in soup.find_all('div', attrs={'class':'style__AtmIVWrapper-idZNMX kUMMRI'}):    print(b.get_text())    print(len(b))但它不起作用。也尝试过 soup.find(“div”) 但它没有在输出中显示所需的 div 标签,可能是由于存在嵌套的 div。无法获取此数据并继续我的工作。请帮忙。
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

如果你正在寻找代码。这可能会有所帮助:-


from selenium import webdriver 

import time

webpage = 'https://web.sensibull.com/optionchain?expiry=2020-03-26&tradingsymbol=NIFTY'

driver = webdriver.Chrome(executable_path='Your/path/to/chromedriver.exe') 

driver.get(webpage)

time.sleep(10)

nifty_fut = driver.find_element_by_xpath('//*[@id="app"]/div/div[4]/div[2]/div[3]/div/div/div[2]/div[1]/div[1]/div/button/span[1]/div[1]')

print(nifty_fut.text)

atm_iv = driver.find_element_by_xpath('//*[@id="app"]/div/div[4]/div[2]/div[3]/div/div/div[2]/div[1]/div[2]')

print(atm_iv.text)

driver.quit()


查看完整回答
反对 回复 2022-09-13
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

可能是语法问题尝试或只是soup.find_all("div", class_="style__AtmIVWrapper-idZNMX kUMMRI")soup.find("div", class_="style__AtmIVWrapper-idZNMX kUMMRI")

如果对网页抓取和bs4感兴趣,请查看文档 https://www.crummy.com/software/BeautifulSoup/bs4/doc/#find


查看完整回答
反对 回复 2022-09-13
  • 2 回答
  • 0 关注
  • 71 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信