jsoup数据抓取学习

            前几天无意看到jsoup这个东西,刚开始看成了json以为又是一个解析json的框架,一查,哇塞!原来是个抓取网络数据的jar,类似于网络爬虫。以前总想自己写点东西,但是苦于没有数据,服务端不懂,现在好了,有了jsoup这个东西,可以抓取任何网站的数据了(貌似是违法的。。。)

      今天特意学习了下,感觉挺好用的,这里记录下:

// 这里抓取csdn的数据    下面的代码涉及到html基础,万幸大学时学了点html
//  下面是链接的源代码,我只截取需要的一部分,有点乱,大家可以自己去链接地址查看源代码

<div class="news_list" id="news_list">	
						<dl>
				<dt>2015-11-23</dt>
				<dd>
					<ul>
																<li>
						<a target="_blank"   href="http://www.csdn.net/article/2015-11-23/2826306"  title='SDCC2015微信开发论坛:看微信生态如何撬动千亿级企业移动市场?'>SDCC2015微信开发论坛:看微信生态如何撬动千亿级企业移动市场?</a>
						</li>
																					<li>
						<a target="_blank"   href="http://www.csdn.net/article/2015-11-21/2826289"  title='苹果正在怎样毁掉设计之名'>苹果正在怎样毁掉设计之名</a>
						</li>
																					<li>
						<a target="_blank"   href="http://www.csdn.net/article/2015-11-23/2826303"  title='专访小米欧阳辰:深度揭秘小米广告平台的构建、底层模块和坑'>专访小米欧阳辰:深度揭秘小米广告平台的构建、底层模块和坑</a>
						</li>
																					<li>
						<a target="_blank"   href="http://huiyi.csdn.net/activity/product/goods_list?project_id=2660"  title='【技术公开课】数据可视化与 D3.js'>【技术公开课】数据可视化与 D3.js</a>
						</li>
																					<li>
						<a target="_blank"   href="http://www.csdn.net/article/2015-11-23/2826299?reload=1"  title='《近匠》Udesk肖立鹏:产品迭代与需求掌控是业务型SaaS产品核心竞争力'>《近匠》Udesk肖立鹏:产品迭代与需求掌控是业务型SaaS产品核心竞争力</a>
						</li>
															</ul>
				</dd>
			</dl>  


public static final String NEWS_LIST_URL = "http://www.csdn.net/headlines.html";

Runnable run = new Runnable() {
    @Override
    public void run() {
        Document doc = null;
        try {
            doc = Jsoup.connect(NEWS_LIST_URL).timeout(5000).get();  // 连接到csdn并获取数据
            Log.e(TAG, "doc...." + doc);
        } catch (IOException e) {
            e.printStackTrace();
        }
        Element masthead = doc.select("div.news_list").first(); // 获取第一个div层class = news_list的数据

        Elements dlElements = masthead.select("dl");//获取第一个news_list下所有dl的标签   

        for (int i = 0; i < dlElements.size(); i++) { 
            Element childElment = dlElements.get(i); // 获取每个dl标签
            Elements dtElement = childElment.select("dt");
            String time = dtElement.text();
            Log.e(TAG, "time is ...." + time);
            Elements aElements = childElment.select("a");
            for (int j = 0; j < aElements.size(); j++) {
                Element elment = aElements.get(j);
                String url = elment.attr("href");
                String title = elment.attr("title");
                Log.e(TAG,"URL..."+url+"...."+title);
            }
        }
    }
};

new Thread(run).start();


      看着也很简单,下面我看的资料,觉得挺不错的,这里推荐大家学习时看看
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1226/2218.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值