Python 用urllib创建网页

Python 用urllib创建网页,python,web-scraping,python-3.6,urllib,Python,Web Scraping,Python 3.6,Urllib,我想从网上得到一些信息 也就是说,我想得到10年期国库券期货的期货收益率和期货DV01。 在旧版本上找到以下小片段: 它抛出了一个弃用警告,我不太清楚我是如何从网站上获得信息的。有人能告诉我新的语法应该是什么,以及如何获取信息。感谢您在安装完selenium后运行脚本 from selenium import webdriver ; from bs4 import BeautifulSoup driver = webdriver.Chrome() driver.get("http://www.

我想从网上得到一些信息 也就是说,我想得到10年期国库券期货的期货收益率和期货DV01。 在旧版本上找到以下小片段:


它抛出了一个弃用警告,我不太清楚我是如何从网站上获得信息的。有人能告诉我新的语法应该是什么,以及如何获取信息。感谢您在安装完selenium后运行脚本

from selenium import webdriver ; from bs4 import BeautifulSoup

driver = webdriver.Chrome()
driver.get("http://www.cmegroup.com/tools-information/quikstrike/treasury-analytics.html")

driver.switch_to_frame(driver.find_element_by_tag_name("iframe"))
soup = BeautifulSoup(driver.page_source, 'html.parser')
driver.quit()

table = soup.select('table.grid')[0]
list_of_rows = [[t_data.text for t_data in item.select('th,td')]
                for item in table.select('tr')]

for data in list_of_rows:
    print(data)
我想,这就是你要找的表格[局部图片]:


安装完selenium后运行脚本

from selenium import webdriver ; from bs4 import BeautifulSoup

driver = webdriver.Chrome()
driver.get("http://www.cmegroup.com/tools-information/quikstrike/treasury-analytics.html")

driver.switch_to_frame(driver.find_element_by_tag_name("iframe"))
soup = BeautifulSoup(driver.page_source, 'html.parser')
driver.quit()

table = soup.select('table.grid')[0]
list_of_rows = [[t_data.text for t_data in item.select('th,td')]
                for item in table.select('tr')]

for data in list_of_rows:
    print(data)
我想,这就是你要找的表格[局部图片]:


您的电脑中安装了selenium吗?如果是,请告诉我。要获得所需的数据,有两个障碍需要跨越。首先,该网页启用了javascript,其次是一个“iframe”,您需要切换它来收集数据。您需要使用selenium来进行GateScrash。如果这是我需要的,我当然可以安装它。您可以做的一件事是从提供商处购买数据。这可能是做事情最好最直接的方式。创建这些数字需要花费大量的工时。如果您想知道如何做到这一点,请随时发表评论。仅供参考-我们将在下一个版本中打击刮削。谢谢值得注意的是,我在您的服务条款或规则手册中没有发现任何反对刮削的内容,虽然您可以从技术角度对此进行打击,但这通常是一个没有意义的问题,因为一个持久的消费者可能会雇佣廉价劳动力手动刮削(复制/粘贴),绕过所有机器人检测甚至验证码。如果这是一个大问题,你应该和你的法律部门谈谈,并在你的服务条款中明确地添加它。这将允许你采取法律行动和技术措施。如果我能用其他方式得到DV01,那就太酷了。理想情况下需要通过一些API提供日常数据。既然这不是火箭科学,我当然也可以自己计算。你的电脑上安装了selenium吗?如果是,请告诉我。要获得所需的数据,有两个障碍需要跨越。首先,该网页启用了javascript,其次是一个“iframe”,您需要切换它来收集数据。您需要使用selenium来进行GateScrash。如果这是我需要的,我当然可以安装它。您可以做的一件事是从提供商处购买数据。这可能是做事情最好最直接的方式。创建这些数字需要花费大量的工时。如果您想知道如何做到这一点,请随时发表评论。仅供参考-我们将在下一个版本中打击刮削。谢谢值得注意的是,我在您的服务条款或规则手册中没有发现任何反对刮削的内容,虽然您可以从技术角度对此进行打击,但这通常是一个没有意义的问题,因为一个持久的消费者可能会雇佣廉价劳动力手动刮削(复制/粘贴),绕过所有机器人检测甚至验证码。如果这是一个大问题,你应该和你的法律部门谈谈,并在你的服务条款中明确地添加它。这将允许你采取法律行动和技术措施。如果我能用其他方式得到DV01,那就太酷了。理想情况下需要通过一些API提供日常数据。因为这不是火箭科学,我当然也可以自己计算。这很好。我正在使用Safari。非常感谢。如何选择一个不同的页面(通过“合同”按钮,从那里检索数据?我尝试了这个,还有更多,但没有成功;elements=driver。通过xpath(“ul[@class='nav'])查找元素)为了访问不同契约的数据,下面的代码会选择节点,但我不知道如何选择和加载它们:driver.get(“)elements=driver.find_elements_by_xpath(“//div[@class='group']”),非常好用。我正在使用Safari。非常感谢。如何选择不同的页面(通过“Contracts”按钮,从那里检索数据?我尝试了这个,还有很多,但没有成功;elements=driver.find_elements\u by_xpath(“//ul[@class='nav']”)要访问不同契约的数据,下面的内容会提取节点,但我不知道如何选择和加载它们:driver.get(“)elements=driver。通过xpath(//div[@class='group'])查找元素