Android Jsoup爬虫

最近项目中需要用到一些数据,苦于没有数据源。在网上各种搜罗爬虫的第三方工具:火车头、八爪鱼这些都不太理想,偶然间发现github上有一个java开源的项目“jsoup”利用java代码去操作网页的元素,感觉可行。今天就给大家带来在android中如何使用jsoup爬虫的教程。

1.新建android工程,导入jsoup包

1.首先将jsoup的包下载下来,他是以jar包的形式提供的,也可以使用依赖的方式(这里我是用jar的形式)。下载地址:https://jsoup.org/download

2.将下载好的jar包放入工程的libs文件夹下

3.将jar包依赖到工程中


2.开始使用

我们来到我们新建的MainActivity中开始编写代码,这里我以爬我自己的一篇博客为例。

Jsoup.connect("https://blog.csdn.net/qq_36050563/article/details/109710952")

通过connect(‘爬取的网址’)与此地址建立起连接。

 Document document = Jsoup.connect("https://blog.csdn.net/qq_36050563/article/details/109710952").get();

通过get方式获取Doucment对象,如果你学习过前端对整个文档对象一定不陌生,有了他就可以操作整个html页面的元素了。注意这里会有异常tye-catch一下就好。

3.爬取

我要爬取的网页是整个样子的

1.比如我想爬取这个网页的标题,先要在浏览器中F12审查元素,点击左上角的小箭头指向这个标题

这里的h1就是标题,他有class 和 id 有这两个我们就能很好的找到这个标题了,当然通过’‘h1’'标签也能找到。

public class MainActivity extends AppCompatActivity {private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);new Thread(){@Overridepublic void run() {try {Document document = Jsoup.connect("https://blog.csdn.net/qq_36050563/article/details/109710952").get();Element title = document.getElementById("articleContentId");Log.e(TAG, "run: "+title.text());} catch (IOException e) {e.printStackTrace();}}}.start();}
}

这样标题我们就拿到了。

如果用document.getElementsByClass(“title-article”)的话返回的是一个数组,你需要再取到第一个元素才行。包括document.getElemengsByTag(“h1”)标签选择器也是一样的。

4.高级爬取

有人可能会问如果我爬取的是一个列表,每个列表的详情需要点进去才能获取到该如何是好?

这里给点小的提示,那就通过类选择器或者标签选择器获取这个外面的列表。一般这种列表都是a标签,循环拿到他的href属性中的链接地址,通过connect(‘爬取的网址’)与此地址建立起连接就可以了。

5.结语

好了今天的android版本的爬虫就讲到这里,下一篇带大家实现高级爬虫功能+greendao数据库实现本地存储。

Android-jsoup爬虫相关推荐

  1. Android 通过okhttp + jsoup 爬虫爬取网页小说

    Android 通过okhttp + jsoup 爬虫爬取网页小说 效果图 1.准备工作 测试地址:http://www.tlxs.net 第三方依赖: implementation 'com.squ ...

  2. 【Java】Jsoup爬虫,一个简单获取京东商品信息的小Demo

    简单记录 - Jsoup爬虫入门实战 数据问题?数据库获取,消息队列中获取中,都可以成为数据源,爬虫! 爬取数据:(获取请求返回的页面信息,筛选出我们想要的数据就可以了!) 我们经常需要分析HTML网 ...

  3. jsoup爬虫教程技巧_Jsoup V的幕后秘密:优化的技巧和窍门

    jsoup爬虫教程技巧 我们已经把事情做好了,现在是时候加快工作速度了. 我们会牢记Donald Knuth的警告:"大约97%的时间我们应该忘记效率低下:过早的优化是万恶之源". ...

  4. jsoup爬虫技术精通_精通业务的同时保持技术的3种方法

    jsoup爬虫技术精通 上周,我很幸运地参加了2017年红帽峰会 . 我们与客户,分析师和记者举行了无数次会议和情况介绍会. 在会议之间走动时,我开始思考一个挑战,这对许多技术人员来说是一个挑战,因为 ...

  5. jsoup爬虫,爬取全站代码

    最近使用jsoup扒了几个网站,感觉bug改的差不多了,于是写出来与大家分享. 首先我会把爬虫基础的爬取思路与部分重要方法展示出来,最后我会把全部代码贴出来.并且我会写一个Main类,里面就是爬虫的模 ...

  6. jsoup爬虫简书首页数据做个小Demo

    代码地址如下: http://www.demodashi.com/demo/11643.html 昨天LZ去面试,遇到一个大牛,被血虐一番,发现自己基础还是很薄弱,对java一些原理掌握的还是不够稳固 ...

  7. Android图片爬虫,看妹纸神器项目源码,ListView单张图片查看

    Android图片爬虫,看妹纸神器项目源码 刚自学完安卓,国庆7七天花了6天纯手写入门级app,从集成图片爬虫到整个项目结束真是一步一个坑. 整个项目没有用框架,都是手写纯属练手,项目中主要用到的技术 ...

  8. java使用jsoup爬虫入门

    一.maven项目里pom添加jsoup依赖 <dependency><groupId>org.jsoup</groupId><artifactId>j ...

  9. 猿人学-Android端爬虫比赛开赛

    猿人学-Android逆向第一届比赛打响: 报名地址 :https://appmatch.yuanrenxue.com/ 赛事简介: 猿人学Android端爬虫比赛于2022年5月13日晚开始,共设1 ...

  10. Java+Jsoup爬虫小红书

    源码链接:https://pan.baidu.com/s/1oOAxJqSMCyVJPNv-iAYW7A 提取码:1co9 Java+Jsoup爬虫小红书,微博,B站 爬取地址:https://www ...

最新文章

  1. Apple的LZF算法解析
  2. 成功解决TypeError: tuple indices must be integers or slices, not str
  3. How to Fix “Username is not in the sudoers file. This incident will be reported” in Ubuntu
  4. ElasticSearch 新增节点,横向扩容
  5. PDM 物理模型codename转大写
  6. TCP/IP参考模型与5层参考模型
  7. sencha touch 2.0 学习记录
  8. scala case class与class区别
  9. dms虚拟服务器,取得dms服务器ip
  10. 微信小程序退出到微信
  11. 2022年2月国产数据库排行榜:冠军宝座面临挑战,OceanBase 重返 TOP3
  12. Spring到底是什么
  13. 舒老师AK的hu测 T2. LX还在迷路(线段树+等差数列)
  14. SCI-EI-收录-检索-出版商 之间的关系
  15. python库01—scipy.linalg(线性代数)
  16. FleaPHP 开发指南 - 5. 应用程序设置
  17. html制作电影界面,电影网站界面设计HTML_CSS模板
  18. Filter基础知识
  19. 在线免费网页工具 :转换视频为wmv格式 izyc.net
  20. 题目:L1-079 天梯赛的善良

热门文章

  1. 虚拟打印机 android版,虚拟打印机(ImagePrinter)
  2. I2C 总线协议初探 - STM32 I2C 接口外设学习笔记
  3. 扒一扒国产 Linux 操作系统架构是怎么设计的 ?
  4. PSO 粒子群优化算法
  5. gpuinfo测试软件,gpuinfo
  6. webStorm 永久破解
  7. 非常强大的时间日期插件 --- JeDate.js
  8. 如何完整离线保存网页,包括网页完整特效?
  9. DevCon.exe 导出output至指定文件
  10. Mac下Chrome添加.crx浏览器插件