<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                在上一篇文章中已經通過請求的url地址把html頁面爬取下來了,這里分別以網易微博的html和新浪微博的html為例來分析如何提取微博數據。 ##一、網易微博解析** 相比新浪微博的html結構,網易微博的比較容易明顯地看出來,也容易找到微博數據。查看其html結構不是網頁里右鍵→“查看網頁源代碼”,那里的微博正文是以html標簽形式顯示的,而程序實際請求返回得到的html的微博正文是以json格式,這個在控制臺里輸出看的很清楚。 ~~~ <script id=”data_searchTweet” type=”application/json”> … { "searchTag":"", "list": [ { "id": "-6794651520897765848", "content": "#數碼精選#【蘋果稱iPad屏幕進灰因中國空氣差,你怎么看?】 近日,國內出現了一個由300名蘋果用戶組成的維權小組,控告蘋果iPad、iMac等產品屏幕太容易進灰。如果你認為iPad屏幕易進灰是最讓人郁悶的事,那就真是小巫見大巫了,蘋果公司的回應簡直讓人淚奔,“中國空氣質量太差,環境因素導致屏幕進灰”。http://163.fm/OOexvkh", "albumContent": "#數碼精選#【蘋果稱iPad屏幕進灰因中國空氣差,你怎么看?】 近日,國內出現了一個由300名蘋果用戶組成的維權小組,… … ~~~ 其實解析就是關鍵把要解析對應位置找到,總之對網易微博的解析是個json串解析,這里可以正則匹配回json,甚至可以直接用正則匹配相應字段,可以匹配userid、content、prettyTime等,最后寫入到txt文件里。便于項目后期的處理,這里直接爬取微博正文content,其它像userid、prettyTime等直接在程序里用Vector<String>處理,這個在系列的第一篇文章里寫的了,代碼也給出了,此處不再贅述。 最后解析出來正文的txt形式的微博數據:(已用字符串替換的方式去除”content”字段名稱,直接保留正文) ![](https://box.kancloud.cn/2016-02-18_56c5641c3381b.jpg) ##二、新浪微博解析** 相比之下新浪的html就要復雜得多,這個在第一篇文章里談到過,其微博不是以json格式展現而是以javascript形式,每條微博包含在<em>…</em>元素里。依據關鍵字標紅快速定位:color:red。 ![](https://box.kancloud.cn/2016-02-18_56c5641c511a0.jpg) 首先把em元素及其中間的文本都匹配出來,匹配的正則表達式:<em>.+?color:red.+?</em>,然后再去掉所有<…>的標簽得到utf8,最后用.*parseInt*(utf8CodeStr, 16)把所有utf8的十六進制換成char。 ~~~ private Vector<String> getTweet(String htmlPath) throws IOException { File f = new File(htmlPath); FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); Vector<String> tweets = new Vector<String>(); String html = ""; Pattern p = Pattern.compile("<em>.+?color:red.+?</em>"); String tweetTemp = ""; while(br.readLine() != null) { html += br.readLine(); } br.close(); Matcher m = p.matcher(html); while(m.find()) { tweetTemp = m.group(); tweets.add(tweetTemp); } Vector<String> realTweets = new Vector<String>(); for(int i=0; i<tweets.size(); i++) { //filt the <...> labels Pattern pdel = Pattern.compile("<.+?>"); Matcher mdel = pdel.matcher(tweetTemp); Vector<String> del = new Vector<String>(); while(mdel.find()) { if(!del.contains(mdel.group())) { del.add(mdel.group()); } } for(int j=0; j<del.size(); j++) { tweetTemp = tweetTemp.replace(del.get(j), ""); } StringBuilder sb = new StringBuilder(); Pattern utf8p = Pattern.compile("\\\\u[0-9a-f]{4}"); //utf8 code Matcher utf8m = utf8p.matcher(tweetTemp); String utf8codeStr; while(utf8m.find()) { utf8codeStr = utf8m.group().substring(2); sb.append((char)Integer.parseInt(utf8codeStr, 16));//parse to chinese } if(!realTweets.contains(sb.toString())) { //only save different tweets realTweets.add(sb.toString()); } } return realTweets; } ~~~ 原創文章,轉載請注明出處:[http://blog.csdn.net/dianacody/article/details/39716611](http://blog.csdn.net/dianacody/article/details/39716611)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看