博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Android 我的博客APP】1.抓取博客首页文章列表内容——网页数据抓取
阅读量:6829 次
发布时间:2019-06-26

本文共 2059 字,大约阅读时间需要 6 分钟。

打算做个自己在博客园的博客APP,首先要能访问首页获取数据获取首页的文章列表,第一步抓取博客首页文章列表内容的功能已实现,在小米2S上的效果图如下:

 

思路是:通过编写的工具类访问网页,获取页面源代码,通过正则表达式得到匹配的数据进行处理显示到ListView上

 

简单说明下要点:

1. 使用Apache HttpClient库实现GET请求。
2. 异步请求处理。
3. 正则表达式抓取自己需要的数据。

 

使用Apache HttpClient库实现GET请求。

使用Apache只需简单三步

HttpClient httpClient = new DefaultHttpClient();  //创建一个HttpClient    HttpGet httpGet = new HttpGet(“http://www.cnblogs.com/yc-755909659/”); //创建一个GET请求    HttpResponse response = httpClient.execute(httpGet); //发送GET请求,并响应内容

 

异步请求处理

异步请求的实现也很简单,开辟新线程执行请求处理,请求完成通过Handler在主线程处理所获得的数据。具体看源代码中MainActivity.java 类代码。

 

正则表达式抓取自己需要的数据

访问我的博客主页查看网页源代码,很容易找到要抓取文章列表内容的格式都如下:

摘要: 在一款游戏中,除了华丽的界面 UI 直接吸引玩家外,另外重要的就是游戏的背景音乐与音效;合适的背景音乐以及精彩的音效搭配会令整个游戏上升一个档次。在 Android 中。常用于播放游戏背景音乐的类是 MediaPlayer, 而用于游戏音效的则是 SoundPool 类。1. MediaPlayer...
阅读全文
posted @ 2014-12-30 12:16 Y灬叶超 阅读(45) 评论(0)
编辑

因此,得到正则表达式如下:

"class=\"postTitle2\" href=\"(.*?)\">(.*?).*?摘要:(.*?)

然后通过正则表达式得到匹配的数据,获取需要的数据

/**     * 联网获得数据     *      * @return 数据     */    public static List
getBlogNetDate(String path, String regex) { List
result = new ArrayList
(); String blogString = RemoveRN(http_get(path)); Pattern p = Pattern.compile(regex); // 我的博客首页的源代码字符串 Matcher m = p.matcher(blogString); while (m.find()) {
// 循环查找匹配字串 MatchResult mr = m.toMatchResult(); BlogListInfo info = new BlogListInfo(); info.setBlogUrl(mr.group(1)); info.setBlogTitle(mr.group(2)); info.setBlogSummary(mr.group(3)); info.setBlogTime(mr.group(4)); info.setBlogReadNum(mr.group(5)); info.setBlogReply(mr.group(6)); result.add(info); } return result; }
本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/yc-755909659/p/4195436.html,如需转载请自行联系原作者
你可能感兴趣的文章
APP性能分析1
查看>>
【解决】php实现简易页面登录注册功能并实现跳转
查看>>
【1】mongoDB 的安装及启动
查看>>
有一行文字,要求删去其中某个字符
查看>>
由Photoshop高反差保留算法原理联想到的一些图像增强算法。
查看>>
Android课程---qq登陆页面(练习)
查看>>
整理JRE瘦身或精简JRE
查看>>
idea搭建简单spring-boot项目
查看>>
何为RP(快速成型)技术?
查看>>
Python初学的几个迷惑点
查看>>
for-in和for-of,forEach和Map
查看>>
springmvc 文件上传(粘贴即用)
查看>>
$.each() each
查看>>
Oracle物化视图的一般使用
查看>>
跳马(广搜_队列)
查看>>
(十一)maven之安装nexus私服
查看>>
Docker资源限制
查看>>
JEE_Model1和Model2模型
查看>>
2.1 摄像头V4L2驱动框架分析
查看>>
React 进阶之路
查看>>