2014/4/30

C#捉取網頁資料-其一

在C#建一個簡單的Console專案

然後安裝以下套件                   

image

image

image

語法上其實還蠻單純的

不過在建立新物件時,因為會用到套件的東西所以需要自己手動指定解析,IWebDriver 與 PhantomJSDriver(),將游標移至這2個項目旁邊按右鍵即可

image

此處一個簡短範例如下

            IWebDriver driver = new PhantomJSDriver();
var url = "http://en.wikipedia.org/wiki/Web_scraping";
driver.Navigate().GoToUrl(url);
var tocElements = driver.FindElements(By.CssSelector(".toctext"));



在我這個範例中,最重要的是那個 FindElements有s與沒有s …顧名思義,有s指的是複數的狀況,沒有s指的是單數的狀況;而在CssSelector中的參數要如何取得呢? 簡單就使用Firefox中的FireBug+FirePath即可


image


另外一個小技巧就是在C#的程式中設定適當的中斷點,然後利用「即時運算視窗」再確認我們捉下來的資料是不是我們需要的


因為有時候需要的文字資料裡面會有不需要的東西,則可以事先運用文字相關函數加以整理….

沒有留言:

張貼留言