//要抓取數據的頁面路徑 string url = "http://www.scedu.net/banshi/used-car/lower-secondary-education/middle-school-list/1381286867.shtml"; //將頁面上的數據轉換為HTML string html = Method.GetHtmlData(url); // txt_content.Text = html; //找到需要的數據匹配正則 (?<name>.+?) string regex = @"<font size=""2"">(?<name>.+?)</td>"; Regex listRegex = new Regex(regex, RegexOptions.Multiline | RegexOptions.IgnoreCase); //得到匹配的數據集合 MatchCollection mc = listRegex.Matches(html); JCheng.Model.School Model = new JCheng.Model.School(); //將得到的字符串分割存進數組 string[] str = txt_content.Text.Substring(0, txt_content.Text.Length - 1).Replace("<br />", "").Split(','); //數據每六個為一個model類 ,如下循環添加入庫。 for (int i = 0; i < str.Length - 1; ) { Model.sName = str[i]; Model.sAddress = str[i + 1]; Model.sPostCode = str[i + 2]; Model.sPhone = str[i + 3]; Model.sEmail = str[i + 4]; Model.sClass = str[i + 5]; new JCheng.BLL.School().Add(Model); i += 6; }
經常會遇到需要讀取一些省市 區 縣之類的信息, 數據龐大,手動輸入效率太慢, 以上代碼為讀取的一個區縣的所有中學信息的列表,抓取出來然后存到自己的數據庫里面用, 很快很酷炫。 呵呵, 第一次做數據抓取, 代碼肯定不是寫的很好, 還是記錄一下吧,希望對大家有所幫助。
新聞熱點
疑難解答