2017-08-29 81 views
0

我期待獲得關於CME website 的一些信息即我想獲得10y Treasury Note Future的期貨收益率和期貨DV01。 發現在一箇舊thread這個小片段:使用urllib進行網絡掃描

import urllib.request 
class AppURLopener(urllib.request.FancyURLopener): 
    version = "Mozilla/5.0" 
opener = AppURLopener() 
fh = opener.open('http://www.cmegroup.com/tools-information/quikstrike/treasury-analytics.html') 

它拋出一個棄用警告,我不太清楚我是如何從上述網站得到的信息。請有人啓發我新的語法應該是什麼,以及如何獲得信息。謝謝

+0

你有安裝在你的電腦硒?如果是,請告訴我。爲了達到您要查找的數據,需要跨越兩個障礙。首先,該網頁已啓用JavaScript,其次有一個「iframe」,您需要切換以收集數據。你需要使用硒來闖關。 – SIM

+0

如果這就是我所需要的我當然可以安裝它。 – steff

回答

1

當您完成安裝硒時運行腳本。

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) 

我認爲,這是表[部分畫面]你是後:

enter image description here

+0

,工作很好。我正在使用Safari。非常感謝。 – steff