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等方法获取自己想要的数据,如图片地址、名称等内容。
      这里写图片描述

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

参考

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ITxiaodong/article/details/73046354

HTML5网页标签

标准通用标记语言下的一个应用HTML标准自1999年12月发布的HTML4.01后,后继的HTML5和其它标准被束之高阁,为了推动Web标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group (Web超文本应用技术工作组 -WHATWG) 的组织。
  • 2018年03月09日 11:41

用Python爬取更加有价值的文章

前言 在了解了python的语法之后,我就开始尝试写第一个爬虫,并且在网上也找了很多教程,发现有几个模块在Python爬取网页时,特别常用,例如:BeautfulSoup,Requests, cs...
  • Lucky66666
  • Lucky66666
  • 2017-09-16 23:02:45
  • 253

自学Python 来写一个爬虫吧

Python 爬虫        目标:一本小说       首先,看一些基础方法:1.     python打开一个网页在python3中import urllib.request #导包 con...
  • XYW_6136
  • XYW_6136
  • 2018-02-06 16:24:34
  • 94

HtmlUnit+Jsoup学习总结

一、网页数据大概分为三类: 1.静态网页 所有内容都写在Html标签中,可以从网页源代码中直接查找到数据。 2.动态网页 数据是通过JavaScript动态加载显示到中,直接查找源代码不能找到数据。 ...
  • u010814849
  • u010814849
  • 2016-09-08 18:42:40
  • 2904

利用htmlunit和jsoup来实现爬取js的动态网页实践(执行js)

这两天在做一个有关于网络爬虫的系统 但是呢,一开始爬的时候就发现问题,js的动态页面的爬不下来 网上找了好多方法,google也问了,主要还是提到htmlunit,于是就用了, 在pairsfish的...
  • anLA_
  • anLA_
  • 2015-12-06 23:41:50
  • 20061

Jsoup解析html页面实现CSDN博客客户端

这段时间课比较少,我用Jsoup解析html写了一个阅读CSDN博客的app。 已经实现的功能有: 1、阅读博客频道首页最新|最热的文章: 2、浏览所有专栏&阅读其中的文章: 3、阅读...
  • u012964281
  • u012964281
  • 2015-04-10 14:37:04
  • 2028

HtmlUnit、httpclient、jsoup爬取网页信息并解析

1.爬取页面效果图点击"百度一下"按钮前页面650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/7E/12/wKiom1b2ZvTxse...
  • jethai
  • jethai
  • 2016-08-28 14:10:38
  • 2915

【Jsoup】配合 htmlunit 爬取异步加载的网页

不知道大家在使用 jsoup 的过程中有没有遇到爬取内容时,发现有的网页里面的内容时通过 JavaScript 异步加载的数据,导致我们的爬虫空手而归(只抓到一个网页的外框)。 首先再遇到这个问题的...
  • xiaoping0915
  • xiaoping0915
  • 2017-05-31 18:16:02
  • 2047

java-jsoup解析html页面的内容

前面一篇文章讲述了 怎么用httpclient发送页面请求,下面要做的就是 爬取请求到的页面的 内容了。 jsoup可以帮助我们很好的解析页面内容。具体例子我们在上文的框架里做示范。 上文链接:htt...
  • q383965374
  • q383965374
  • 2013-08-19 15:19:55
  • 15185

JSOUP比较全面的实例

http://www.xdemo.org/jsoup-html-parse/ Jsoup解析Html教程 /Java /Jsoup解析Html教程  2014年4月2日  飞翔的拖鞋...
  • nimeghbia
  • nimeghbia
  • 2017-01-19 07:56:02
  • 2853
收藏助手
不良信息举报
您举报文章:Jsoup爬虫使用记录
举报原因:
原因补充:

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