你絕對可以做到這一點;但Excel並不是解析的最佳工具(儘管我已經完成了它!人們說這是不可能的 - 它可以使用異步Windows API調用完成;祝你好運......)
你必須要問的第一個問題是網站是否動態。它在飛行中產生結果嗎?另一個問題是:他們的URL慣例是否一致? (換句話說:您可以將結果加入書籤並在不同的會話中回覆給他們,而不必做任何事情,甚至可能登錄到網站......
如果網站是靜態的或者有一致的URL查詢機制(我們用HTML表示:Web查詢是一個「GET」而不是一個表單「POST」......),您可以使用一個很好的面向解析器的語言,如使用訪問網頁的庫的Python;谷歌的例子應該比比皆是。在得到所有調試後,它可以可靠地工作(也可以測試它在無法訪問站點時智能地報告情況;暫時中斷您的網絡連接......),從可以shell的Excel宏Python腳本。訣竅在於,Excel中的香草炮擊並不會阻止您的炮彈命令,而是異步運行。因此,再次使用Google,您可以找到一個可從Excel執行的Windows API調用,以同步地將您的檢索任務外殼化(如果您在完成之前未阻止它,則後續的宏代碼期望解析結果將在其中找不到任何內容! )您的Python解析代碼可以生成一個製表符分隔的文本文件,您的宏可以輕鬆加載。
查看這個設計的觀點?模塊化的。如果解析中存在錯誤,則只需查看CSV即可輕鬆確定。你正在利用專業化:你正在使用一種專爲解析而設計的編程語言(Python,無論什麼......); VBA並不是真正的解析語言。
如果它不是靜態的網頁,但動態的需要獨特的條目呢?然後,除了使用來自Excel宏的bizarro Windows API調用,您可以使用Greasemonkey或C#製作動態解析腳本。 Greasemonkey是Firefox的插件,可讓您使用Javascript編寫腳本網站交互。這很直觀。如果採取了這種方法,則可以在Firefox瀏覽器中爲該頁面提供預定義的Greasemonkey腳本。同樣,Greasemonkey可以生成數據的文本文件,並且很容易在稍後進行調試。我聽到的另一個選擇是C#;我從來沒有嘗試過,因爲它是微軟的具體,但我看到許多商店這樣做。還有一個名爲HTMLunit的Java解析包,但是當我嘗試在網頁上模擬Javascript事件時發現它破裂了。你可以看到的其他HTML解析器是Jerry和Cobra;還有這種叫做Selenium的新產品。我發現Greasemonkey是最可靠的,因爲它使用真正的瀏覽器來操作;而除了Selenium之外,這些其他產品會對瀏覽器進行虛擬複製,而不幸的是,這樣做往往不能實現。有些人甚至懶得複製可能在網頁上的Javascript(這通常可以是網站頁面呈現的肉和土豆!)
玩得開心。這是游泳池的深處,但它會讓你保持忙碌,有工作。
我真的很感激你的意見。不幸的是,我不喜歡這種東西。我想我需要研究要麼學習這種付錢給其他人去做的事情。任何想到如果我僱用程序員可能會運行什麼? – Patrick 2013-03-09 01:38:54
我曾經寫過在你描述過的情況下從網站上提取數據的vba宏。這並不複雜,但準備工作需要一點時間。然而,我的解決方案的最大缺點是:爲了安全起見,需要花費時間到達最終站點。每次點擊10秒,這意味着約。在你的情況下60秒;頁面代碼必須穩定,因爲宏讀取HTML代碼,動作涉及代碼的某個部分。如果網絡管理員更改了任何內容,那麼在更改宏之前可能會失敗並返回數據。 – 2013-03-09 19:48:59
PS:另請參閱[http://stackoverflow.com/questions/1765573/how-to-parse-a-rendered-web-page-containing-javascript](http://stackoverflow.com/questions/1765573/how -to-解析-一個渲染-網頁含的JavaScript);它與這個問題有關... – user2150162 2013-03-10 05:34:36