jsoup数据抓取学习

来源:互联网 发布:linux 启动 编辑:程序博客网 时间:2024/05/17 16:16

            前几天无意看到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
原创粉丝点击