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

Python(html) 使用 bf4 从动态变化的 div/span 获取数据

Python(html) 使用 bf4 从动态变化的 div/span 获取数据

手掌心 2023-04-18 16:41:57
我需要从https://cryptowat.ch/获取实时 BTC ,但是当程序运行 5 次时它将停止,当我检查该站点时我被禁止,因为有很多请求。我如何在没有的情况下获取数据用 Python 刷新整个网站?这是代码:import bs4import requestsfrom bs4 import BeautifulSoupdef btc():    r= requests.get("https://cryptowat.ch/")    soup = bs4.BeautifulSoup(r.text, "lxml")    number = soup.find_all('a',{'class':'_1roDdymkPS2zplXEDcBm0L _3z3AqahoD2pN2R7vFue-0o pointer'})[1].find("span").text    #btc = [span.text for span in number]    return number"""while True:    print("A jelenlegi BTC ár : "+str(bekero))"""while True:    print("A jelenlegi BTC ár : "+str(btc()))    time.sleep(3)
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

你应该使用 selenium 和 chrome webdriver 

基本上,你要做的(使用 python 代码)是打开一个 chrome 窗口,将其定向到某个网站,如果你愿意,可以与网页进行交互,然后读取页面内容并将其传递给 BS4。

请注意,请求库不会加载动态内容。

例子:

from selenium import webdriver


browser = webdriver.Chrome()

browser.get(url)


source = browser.find_element_by_xpath("/html").get_attribute('outerHTML')

然后将页面源传给BS4


查看完整回答
反对 回复 2023-04-18
  • 1 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

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