[英]Scrape website data for CSV
這類編程工作經驗不足,對嵌入式系統更為熟悉。 我的Web編程XP很少。
我想要達到的目標:
網站(danglefactory.com)擁有大量統計信息,我希望將其下載到CSV中進行處理。 在網站上,有一個按鈕,該按鈕調用內部腳本制作cvs並准備下載。
引薦http://www.danglefactory.com/projections/skaters/daily
腳本http://www.danglefactory.com/scripts/copy_csv_xls.swf
我更喜歡python解決方案,該解決方案將能夠將此CSV提取到臨時或本地存儲中進行處理。
感謝在廣告中。
您可以采用的第一種方法是非常低級的。
在后台,您可以使用JSON API調用進行模擬,例如requests
。
您可以通過以下方式獲取每日預測:
import requests
url = 'http://www.danglefactory.com/api/DailySkaterProjections?_=1415200157912'
response = requests.get(url)
data = response.json()
print data
打印:
[{u'A': 0.61,
u'Blocks': 0.37,
u'Corsi': 0.53,
u'FOL': 9.07,
u'FOW': 8.95,
u'FOWinPerc': 49.6,
u'G': 0.39,
u'Giveaways': 0.89,
u'Hits': 0.54,
u'Name': u'John Tavares',
u'Opponent': u'ANA',
u'P': 0.99,
u'PIM': 0.51,
u'PPA': 0.24,
u'PPG': 0.11,
u'PlayerID': 411,
u'PlusMinus': 0.05,
u'PrimaryPosition': u'C',
u'SHA': 0.0,
u'SHG': 0.0,
u'ShPerc': 12.6,
u'Shots': 3.1,
u'TOI': 20.39,
u'Takeaways': 0.82,
u'Team': u'NYI'},
{u'A': 0.7,
u'Blocks': 1.0,
u'Corsi': 0.47,
u'FOL': 8.69,
u'FOW': 8.43,
u'FOWinPerc': 49.3,
u'G': 0.28,
u'Giveaways': 0.84,
u'Hits': 1.49,
u'Name': u'Ryan Getzlaf',
u'Opponent': u'NYI',
u'P': 0.97,
u'PIM': 0.68,
u'PPA': 0.22,
u'PPG': 0.07,
u'PlayerID': 161,
u'PlusMinus': 0.06,
u'PrimaryPosition': u'C',
u'SHA': 0.04,
u'SHG': 0.02,
u'ShPerc': 11.9,
u'Shots': 2.3,
u'TOI': 20.52,
u'Takeaways': 0.61,
u'Team': u'ANA'},
...
}]
然后,您可以使用csv
模塊將結果相應地轉換為csv。
另一個解決方案可能是使用selenium
瀏覽器自動化工具,但是問題是CSV
按鈕和表格位於selenium
無法與進行交互的Flash對象中。
但是,您可以使用sikuli
等圖像識別和屏幕自動化工具來找到CSV
按鈕並單擊它。 這是如果您仍然希望停留在“高級”上。
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.