Jsoup解析页面

package com.tl.spider.parser.impl;

import com.tl.spider.download.WebPageDownLoadUtil;
import com.tl.spider.parser.interfaces.ParseFieldsInterface;
import com.tl.spider.pojos.ParserResultEntity;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @ClassName ParseFields4Xpath
 * @Description 使用Jsoup实现解析类
 * @Author Administrator
 * @Date 2019/5/19 16:09
 * @Version 1.0
 **/
public class ParseFields4Xpath implements ParseFieldsInterface {
    @Override
    public List<ParserResultEntity> parseHtml(String htmlContent) {
        Document doc = Jsoup.parse(htmlContent); // 从字符串中输入 HTML 文档
        Element element = doc.select("ul.tj3_1").first();
        Elements elements = element.select("li");
        List<ParserResultEntity>  results = new ArrayList<>();
        Date currentData = new Date(System.currentTimeMillis());

        for(Element e : elements) {
            ParserResultEntity obj = new ParserResultEntity();
            obj.setTitle(e.select("a").text());
            obj.setPostDate(e.select("font").text());
            obj.setInsertDate(currentData.toString());
            results.add(obj);
        }
        /*
        // css语法提取标题和时间
        System.out.println(doc.select("body > div.main > div.main_l > div.rdwz > ul > li:nth-child(1) > a").text());
        System.out.println(doc.select("body > div.main > div.main_l > div.rdwz > ul > li:nth-child(1) > font").text());
        */

        return results;
    }

    public static void main(String[] args) throws Exception {

        String url = "http://news.youth.cn/gn/";
        String charSet = "gb2312"; // 这个地方的编码可以通过查看网页源代码的meta charset得到
        String content = WebPageDownLoadUtil.getHtmlSourceBySocket(url, charSet);
        System.out.println(content.length());

        ParseFields4Xpath parseFields4Xpath = new ParseFields4Xpath();
        List<ParserResultEntity> results = parseFields4Xpath.parseHtml(content);
        for(ParserResultEntity message : results) {
            System.out.println(message.toString());
        }
    }

}

  

原文地址:https://www.cnblogs.com/wylwyl/p/10890050.html

时间: 2024-08-01 03:29:10

Jsoup解析页面的相关文章

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

这段时间课比较少,我用Jsoup解析html写了一个阅读CSDN博客的app. 已经实现的功能有: 1.阅读博客频道首页最新|最热的文章: 2.浏览所有专栏&阅读其中的文章: 3.阅读热门文章: 4.查看指定id用户的所有文章: 整个程序运行起来的样子大概就是这个样子.. 核心代码:下载指定的html页面 --> 使用Jsoup解析,获取自己需要的元素.了解Jsoup的同学都知道很简单的. 由于时间&水平有限,app界面很简陋,可能会有些BUG. 而且有一个问题没有解决:解析时怎么识

接口测试脚本之Jsoup解析HTML

第一次接触jsoup还是在处理收货地址的时候,当时在写一个下单流程,需要省市区id以及详细门牌号等等,因此同事介绍了jsoup,闲来无事,在此闲扯一番! 1.我们来看下,什么是jsoup,先来看看官方文档是怎么说的: jsoup: Java HTML Parser,jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipu

Jsoup解析html时对相对地址的处理

前一段时间运用htmlparser时,获取地址是时直接将html页面的相对地址转换成绝对地址,然而今天在运用jsoup,开始的时候发现只能得到相对地址,最后在网上寻找到了解决办法. htmlparser获得URLs: //参数说明:parser为模拟浏览器对URL地址操 dataPath:所解析的URL存放路径 dataName:存放URL的数据库名 public static void extractURL(final Parser parser, final String dataPath,

Java 爬虫工具Jsoup解析

Jsoup是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址.HTML 文本内容.它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据. jsoup 的主要功能如下: 1. 从一个 URL,文件或字符串中解析 HTML: 2. 使用 DOM 或 CSS 选择器来查找.取出数据: 3. 可操作 HTML 元素.属性.文本: jsoup 是基于 MIT 协议发布的,可放心使用于商业项目. jsoup 可以从包括字符串.URL

Android 使用Jsoup解析html+下载图片

最近想鼓捣一下CSDN客户端,这篇博客主要介绍如何使用Jsoup解析html页面通过标签获取所需内容,并下载指定图片资源. 一.导入Jsoup JAR包 JAR包下载地址:jsoup 1.6.1 注意导入包到项目时,直接将解压后的jar文件全部复制到libs文件目录下即可,否则运行时会报错. 二.下载html页面并解析 代码: package com.example.testcsdn; import java.io.ByteArrayOutputStream; import java.io.IO

Jsoup解析网页获取信息

毕设需要使用网页上的数据,然后就用到了JSOUP. Jsoup官网 既然是解析Html,首先要做的就是获取html这个页面,也就是要成功链接url. 就拿我做的举个例子,我需要解析获取我们学校官网上的新闻,链接地址为:http://www.chzu.edu.cn/s/1/t/1152/p/3/list.htm 界面如下: 首先创建一个java项目,引入jsoup包,我用的是jsoup-1.6.1.jar 然后就是写代码连接url Document doc; doc = Jsoup.connect

利用jsoup解析个人信息----图书馆客户端

上一篇HTTPclient模拟登陆交大图书馆解决了登陆,登陆之后便可以查看个人信息.个人信息条目较少,如图: 主要就是:姓名.电话.目前借书.积欠金额. 查看其html代码: 下面开始进行解析: 代码 package com.ali.login.spider; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import com.ali.login.bean.Us

利用jsoup解析天气预报

java的一个开源的解析Html的程序jsoup将html进行解析,并且让我们可以像对css操作一样来获取解析之后的内容,本文即利用其特性进行解析 jsoup的开源jar包请自行下载 public class WeatherInfo {     /**      * @param args      */     public static void main(String[] args) {         getCityWeatherInfo();         //getCityAndU

pyspider示例代码三:用PyQuery解析页面数据

本系列文章主要记录和讲解pyspider的示例代码,希望能抛砖引玉.pyspider示例代码官方网站是http://demo.pyspider.org/.上面的示例代码太多,无从下手.因此本人找出一下比较经典的示例进行简单讲解,希望对新手有一些帮助. 示例说明: 本示例主要是PyQuery解析返回的response页面数据.response.doc解析页面数据是pyspider的主要用法,应该熟练掌握基本使用方法.其他返回类型示例见后续文章. pyspider爬取的内容通过回调的参数respon