【Android 我的博客APP】1.抓取博客首页文章列表内容——网页数据抓取

简介:

打算做个自己在博客园的博客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 类代码。

 

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

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

复制代码
<div class="postTitle">
                <a id="homepage1_HomePageDays_DaysList_ctl00_DayList_TitleUrl_0" class="postTitle2" href="http://www.cnblogs.com/yc-755909659/p/4187155.html">【读书笔记《Android游戏编程之从零开始》】19.游戏开发基础(游戏音乐与音效)</a>
            </div>
            <div class="postCon"><div class="c_b_p_desc">摘要: 在一款游戏中,除了华丽的界面 UI 直接吸引玩家外,另外重要的就是游戏的背景音乐与音效;合适的背景音乐以及精彩的音效搭配会令整个游戏上升一个档次。在 Android 中。常用于播放游戏背景音乐的类是 MediaPlayer, 而用于游戏音效的则是 SoundPool 类。1. MediaPlayer...<a href="http://www.cnblogs.com/yc-755909659/p/4187155.html" class="c_b_p_desc_readmore">阅读全文</a></div></div>
            <div class="clear"></div>
            <div class="postDesc">posted @ 2014-12-30 12:16 Y灬叶超 阅读(45) 评论(0)  <a href ="http://i.cnblogs.com/EditPosts.aspx?postid=4187155" rel="nofollow">编辑</a></div>
            <div class="clear"></div>
复制代码

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

"class=\"postTitle2\" href=\"(.*?)\">(.*?)</a>.*?摘要:(.*?)<a.*?posted @(.*?)Y灬叶超 阅读(.*?) 评论(.*?)<a";

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

复制代码
/**
     * 联网获得数据
     * 
     * @return 数据
     */
    public static List<BlogListInfo> getBlogNetDate(String path, String regex) {
        List<BlogListInfo> result = new ArrayList<BlogListInfo>();
        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,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
877 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
5月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
737 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
5月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
946 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
6月前
|
存储 消息中间件 人工智能
【04】AI辅助编程完整的安卓二次商业实战-寻找修改替换新UI首页图标-菜单图标-消息列表图标-优雅草伊凡
【04】AI辅助编程完整的安卓二次商业实战-寻找修改替换新UI首页图标-菜单图标-消息列表图标-优雅草伊凡
427 4
|
5月前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
283 0
|
9月前
|
前端开发 JavaScript
病例制作app生成器,医院住院出院证明在线制作,js+css网页娱乐版
医院住院出院证明在线制作网页的完整代码实现,包含HTML、CSS和JavaScript三部分,这是一个纯前端娱乐项目。
|
12月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
420 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
存储 监控 API
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
1616 11
|
搜索推荐 开发者
熊猫比分-专业体育赛事直播app/网页搭建
体育赛事直播APP已成为体育迷观看和讨论赛事的重要渠道。其核心功能包括:1) 实时直播,支持转播、录播、回放,确保低延迟、高流畅度和优质画质;2) 比分数据分析,提供首发阵容、历史对战等信息;3) 用户互动,支持评论、打赏及私聊;4) 主播中心,允许用户申请成为主播并获平台支持。

热门文章

最新文章