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

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

参考

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

[置顶]Java丨jsoup网络爬虫模拟登录思路解析

直奔主题: 本篇文章是给有jsoup抓包基础的人看的...... 今天小编给大家写一篇对于jsoup抓包时需要输入验证码的解决方法之一。大神就绕道,嘿嘿~ 任何抓包的基础都是基于Http协议来进...
  • lihaojie1996
  • lihaojie1996
  • 2017年02月23日 17:29
  • 1501

基于Jsoup实现的简单爬虫

Jsoup 概念 jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出...
  • WuZuoDingFeng
  • WuZuoDingFeng
  • 2016年12月09日 15:19
  • 1730

cookie(会话cookie和持久化cookie) 和 session 以及 在爬虫登录抓取的理解

1、第一次访问服务器,会生成一个session 2、response  会返回一个sessionId,存在会话cookie 3、Sessinon在用户访问第一次访问服务器时创建,需要注意只有访问JSP...
  • Fupengyao
  • Fupengyao
  • 2017年04月25日 10:54
  • 1660

Java爬虫入门简介(三)——HttpClient保存使用Cookie登录

在使用HttpClient作为客户端请求数据的时候,我们常常需要以一个用户的身份多次请求一个网站内的多种资源。例如,我一次登录后,后面希望以这个身份继续访问不用重新登录。这里就可以使用cookie了。...
  • df19900725
  • df19900725
  • 2017年09月22日 20:03
  • 702

Jsoup实现网络爬虫抓取数据

Jsoup实现网络爬虫抓取数据
  • qq_31034679
  • qq_31034679
  • 2017年03月09日 13:37
  • 906

30行jsoup代码搞定新浪微博登录抓取爬虫

主要是设置cookies 想知道方法的朋友可以留言哦 爬虫问题都可以探讨哦import java.io.IOException; import java.util.HashMap; import j...
  • beloveddarling
  • beloveddarling
  • 2016年12月05日 00:30
  • 3972

Java网络爬虫抓取新浪微博个人微博记录

在正题之前,先了解一下java下抓取网页上特定内容的方法,也就是所谓的网络爬虫,在本文中只会涉及简单的文字信息与链接爬取。java中访问http的方式不外乎两种,一种是使用原生态的httpconnec...
  • u013407099
  • u013407099
  • 2016年01月18日 16:34
  • 9119

获取cookie后将cookie放在下一次请求

获取cookie后将cookie放在下一次请求代码如下import java.io.IOException; import java.util.Map;import org.jsoup.Connect...
  • sinat_32867867
  • sinat_32867867
  • 2017年09月18日 14:52
  • 364

java爬取网页内容 简单例子

原文地址   http://blog.csdn.net/donglynn/article/details/47778009 【本文介绍】   爬取别人网页上的内容,听上似乎很有趣的样子,只要几...
  • mzy755423868
  • mzy755423868
  • 2018年01月09日 11:11
  • 40

jsoup爬虫项目基础用法,如何用jsoup从网上爬东西

package com.starry.service; import java.io.IOException; import java.sql.SQLException; import java.t...
  • starry7953810
  • starry7953810
  • 2017年06月16日 20:35
  • 348
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jsoup爬虫使用记录
举报原因:
原因补充:

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