我最近制作了一个脚本,从一个网站(https://www.cmegroup.com/trading/interest-rates/cleared-otc.html)上刮取一些财务数据,以便跟踪项目交易量的变化
然而,他们似乎稍微改变了HTML,我的脚本不再工作了
我曾经用它从“表20”中获取值
#Options for Chrome Driver (Selenium)
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Program Files\Anaconda\chromedriver\chromedriver.exe')
driver.get("https://www.cmegroup.com/trading/interest-rates/cleared-otc.html")
current_page = driver.page_source
#Grab all the information from website HTML
soup = BeautifulSoup(current_page, 'html.parser')
tbl = soup.find("div", {"id": "table20"})
然而,tbl现在是一个“非类型”,里面什么都没有
我也尝试过以下方法,但没有效果:
table_2 = soup.find(lambda tag: tag.name == 'table' and tag.has_attr('id') and tag['id'] == 'table20')
所以问题是,我怎样才能把表20中所有的货币价值都划掉呢
嗯,我看没有理由在这种情况下使用
selenium
,因为它会减慢您的任务网站加载了
JavaScript
事件,该事件在页面加载后动态呈现其数据requests
库将无法动态渲染JavaScript
。因此,您可以使用selenium
或requests_html
。事实上,有很多模块可以做到这一点现在,我们在表上有另一个选项,用于跟踪数据的呈现位置。我能够找到用于从}检索数据的XHR请求,并将其呈现给用户端
back-end
{输出:view-online
输出样本:
相关问题 更多 >
编程相关推荐