Jsoup爬虫使用记录

原创 2017年06月11日 17:15:42

背景

学习 Android 到一段时间,想自己做一些项目练练手,需要数据怎么办呢?


- 自己造数据
- 少量的假数据
利用数组或者集合来存储少量数据。

- 大量的后台数据
这里的数据是指,自己获取数据,然后自己实现一个后台管理系统,通过这个系统去操作(增删改查)这些大量的数据。
  • 用第三方的API接口

    • 聚合数据(欠我一份广告费)
      大量的接口数据,有免费的有收费的。

    • 干货集中营
      代码家大神在维护,种类不多,但是接口格式很标准,使用起来很爽。

  • 爬取数据

    • 第三方工具
      我使用过的就是八爪鱼,这个工具使用起来也很方便。但是有的缺点就是在获取网页的图片时,获取不到真正的地址,需要再次整理才能得到图片Url。

    • 脚本
      Python听说不错,没学习不好评论。

    • 开源工具
      Jsoup,这是最近发现的一个Java爬虫工具。

Jsoup 介绍

  • 是什么?

    • Jsoup 是一个 Java 的开源HTML解析器,可直接解析某个URL地址、HTML文本
  • 能做什么?

    • 从一个URL,文件或字符串中解析HTML

这里写图片描述
- 使用DOM或者CSS选择器来查找、取出数据
这里写图片描述
这里写图片描述

- 对HTML元素、属性、文本进行操作

这里是指Jsoup工具能够对HTML进行增删改查操作

- 清除不受信任的HTML (来防止XSS攻击)

这里写图片描述

  • 不能做什么?

    • 网站使用动态加载技术 jsoup没法爬,建议用htmlutil 工具

    • 【动态加载技术?】
      利用 ajax() 方法通过 HTTP 请求加载远程数据,该方法是 jQuery 底层 AJAX 实现, AJAXj 它主要用途是提供异步刷新,而jQuery又是一个兼容多浏览器的JavaScript库。
      JavaScript一种脚本语言,用来给HTML网页增加动态功能。

    • 【为什么爬不了?】
      Jsoup只能是抓取加载完成后的页面,源码是这么设计的,有时间去看看源码

    • 【解决办法】
      换扒取数据的Url
      换工具( htmlutil )
      Google搜索

简单实现

  • 实现步骤

    • 得到自己想要爬取数据的url.
      http://www.moxiu.com/themes
      这里写图片描述

    • 通过Jsoup的jar包中的方法将Html解析成Document,
      添加依赖 compile ‘org.jsoup:jsoup:1.10.2’

    • 使用Document中的一些列get、first、children等方法获取自己想要的数据,如图片地址、名称等内容。
      这里写图片描述

    • 将得到的数据封装成自己的实体类。
    • 将实体中的数据在页面加载出来。
  • 展示的结果
    这里写图片描述

参考

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

多线程AsyncTask中使用Jsoup 报错Caused by: java.lang.NoClassDefFoundError: org.jsoup.Jsoup

代码如下,在多线程AsyncTask类中的doInBackground调用Jsoup protected String doInBackground(String... params) { ...

Java网络爬虫(五)--Jsoup的使用

在前面几章,我已经对HttpClient的基本使用进行了总结,而且对于一般性的需要登录的网站大家怎么进行模拟登录也有了一定的了解,也就是说,通过前几篇的学习,你已经学会了通过HttpClient进行网...

使用Jsoup对豆瓣读书进行爬虫

package Spider;import java.io.IOException; import java.net.URLEncoder; import java.util.ArrayList; i...

java爬虫使用jsoup.jar包-自定义webUrl编码方式

一、本文主要讲述为java爬虫使用jsoup.jar包,可自定义webUrl的编码。 二、前述:博主使用jsoup.jar包爬取新浪,关键字为中文时爬取内容为乱码,若关键字为英文时爬取内容正常, 经在...

使用JSOUP实现网络爬虫

最近想做一个app,没什么思路,网上看了,想做一个图片浏览的,可是没有数据呀,想到了网上比较火的网络爬虫,实现方式有很多种,这里选择了Jsoup。想到爬虫,还想到了网上有收费的什么电子书呀等等这些,那...

【网络爬虫】使用jsoup对dom树解析

基于jsoup的二次封装,对dom树解析。

使用jsoup爬虫抓取页面

欢迎使用Markdown编辑器写博客nn 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图...

使用jsoup的爬虫例子

上网了解到网络爬虫,感觉挺使用的,自己写了一个例子。 jsoup的jar包下载地址:http://jsoup.org/download 使用jsoup-1.8.3.jar,这是一个解析html源码...
  • nyhyn
  • nyhyn
  • 2016年05月08日 21:26
  • 504

【使用JSOUP实现网络爬虫】清理HTML-消除不受信任的html (来防止xss攻击)

问题在做网站的时候,经常会提供用户评论的功能。有些不怀好意的用户,会搞一些脚本到评论内容中,而这些脚本可能会破坏整个页面的行为,更严重的是获取一些机要信息,此时需要清理该HTML,以避免跨站脚本cro...
  • huxiweng
  • huxiweng
  • 2013年11月18日 11:23
  • 16506

java学习--网络爬虫(使用jsoup爬取网页内容)

【准备工作】 下载:jsoup-1.6.1.jar   【先看效果】 目标网站:中国天气  目的:获取今天的天气 目标HTML代码: li class="dn on" data-dn="7d1...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jsoup爬虫使用记录
举报原因:
原因补充:

(最多只允许输入30个字)