今天,寫了個小代碼。抓取首頁中的極客頭條。效果如圖:

分享給新手朋友。
要點:
1.使用ApacheHttpClient庫實現GET請求。
2.異步請求處理。
3.正則表達式抓取自己需要的數據。
1.使用ApacheHttpClient庫實現GET請求。
使用Apache只需簡單三步
HttpClient httpClient = new DefaultHttpClient(); //創建一個HttpClient HttpGet httpGet = new HttpGet(“http://www.csdn.net/”); //創建一個GET請求 HttpResponse response = httpClient.execute(httpGet); //發送GET請求,并響應內容
2.異步請求處理。
異步請求的實現也很簡單,開辟新線程執行請求處理,請求完成通過Handler在主線程處理所獲得的數據。具體看代碼。
3.正則表達式抓取自己需要的數據。
這個更簡單,我推薦一個工具RegexTester,使用方法在相關文檔。
我這里說下,就算你什么正則表達式一點都不知道,你只要知道(.*?)就可以了。它可以讓你抓取基本上所有你需要的數據。
".*?"注意是三個字符一起,代表貪婪匹配任意數量的任意字符。可以簡單的理解為任何字符。
如"a.*?b"對字符串"eabcd",進行匹配,將找到"abcd",其中".*?"匹配"bc"。
我們需要抓取的內容一般用"(.*?)"表示,注意這里是包含括號的。這很重要,用括號表示我們要提取的內容。
我們具體分析CSDN首頁源代碼,下面每步操作都應該在RegexTester測試進行。
很容易找到,我們要抓取內容的 主站蜘蛛池模板: 辛集市| 盐城市| 磴口县| 宽甸| 江城| 堆龙德庆县| 新余市| 蓬莱市| 陇川县| 黄龙县| 万全县| 日喀则市| 察雅县| 石渠县| 丹寨县| 茂名市| 江西省| 平乡县| 加查县| 建阳市| 白玉县| 石林| 图木舒克市| 中西区| 阿克苏市| 沾益县| 砚山县| 台湾省| 昌都县| 沅陵县| 禹城市| 济阳县| 大名县| 花莲市| 葵青区| 丹东市| 建湖县| 南陵县| 洛宁县| 铁力市| 五大连池市|