HTML解析

       有時候, 一些網站沒有API接口, 就算是想要解析, 也沒辦法, 這時只有通過HTML解析, 我當時在網上搜索的時候, 因爲有一個地方網上沒有寫, 自己也沒注意到, 結果浪費了很長時間.

       網頁上的HTML源碼一般用的都是gbk編碼, 而我們程序中使用的是UTF-8編碼, 導致我不管使用哪種方法解析, 得到的結果都是null. 使用之前一定要先轉碼,  將下載得來的數據, 通過:

       NSStringEncoding gbk = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

       這種編碼格式來得到網頁的內容.

       

       另外附上解析的三種方法,

       1.通過第三方庫Hpple來解析, 這個使用方法, 網上一搜一大片, 我就不再贅述了.


       2.通過UIWebView來解析, WebView中有一個方法, 是通過JavaScript來解析的      

           [webView stringByEvaluatingJavaScriptFromString:

                                                                       @"document.getElementById('content').innerHTML"]

           字符串中使用的是JavaScript的知識, 通過Id"content"來得到content中的內容, 還有ByName, ByTagName, 具體使用方法請自己查詢, 推薦一個網站w3school(http://www.w3school.com.cn/).


       3.通過字符串匹配, 不管是第三方庫, 還是JavaScript, 內部的核心原理都是通過字符串匹配得來的,

每一個網站都有自己的框架, 不管裏面的內容怎麼變, 框架是不會動的, 而你要得到的內容肯定是在一個能唯一標識的框架內, 找到這段內容所在的收尾兩部分框架, 通過字符串分割就能得到中間你想要的內容.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章