java jsoup 爬虫

爬虫(wuwuwu我要死了

1.概述

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

jsoup的主要功能如下:

  1. 从一个URL,文件或字符串中解析HTML;
  2. 使用DOM或CSS选择器来查找、取出数据;
  3. 可操作HTML元素、属性、文本;

jsoup 中文api(里面有如何使用jsoup的方法)
https://www.open-open.com/jsoup/

2.选取要抓取的地址

1.要抓取的地址
(例如 https://blog.csdn.net/weixin_43568342 这是我的博客
2.创建一个类 里面创建你要抓取的内容

举个栗子 简单的抓取一个名字
public class BlogAuthor {

    //作者名字
    private String authorName;

}
3.你如果想要抓取特定的东西可以f12看网页上你需要的东西的特征,比如他是一个a标签,他的class是什么之类的

3.添加依赖

(我是在springboot的框架下写的,有pom.xml,其他框架下的pom.xml也可以,没有自己创建一个吧
1.在pom.xml中添加

		<dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.10.2</version>
        </dependency>
        <!--爬虫-->

2.在刚才创建的BlogAuthor类中添加一个方法

public static BlogAuthor getBlogAutoMessage() {
        Document doc;
        //创建一个document上面添加的(import记得用这个)import org.jsoup.nodes.Document;
        BlogAuthor blogAuthor = null;
        List<Element> elements;
        //创建一个element序列上面添加的(import记得用这个)import org.jsoup.nodes.Element;
        //作者名字
        String uthorName;
        // 访问数量
        blogAuthor = new BlogAuthor();
        try {
            doc = Jsoup.connect("http://blog.csdn.net/dt235201314")
                    .userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36")
                    //"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"
                    //"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0"
                    .timeout(5000).get();
            if (doc != null) {
                elements = doc.select("a");//提取所有a标签下的内容
                if(elements.size()!=0)//如果有东西提取出来
                uthorName=elements.get(0).text();
                else uthorName="nihao";//否则他的内容就是nihao
                blogAuthor.setAuthorName(uthorName);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return blogAuthor;//这个方法返回一个BlogAuthor
    }

3.2.1
特地说一下,userAgent这个是用户代理,你的最好自己找,怎么找呢?在这里插入图片描述
明白???

4.写一个测试类

import com.example.test.pojo.BlogAuthor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/bad")
public class Test{
    @RequestMapping("/hello")
    @ResponseBody
    public static void test(){
        BlogAuthor blogAuthor = BlogAuthor.getBlogAutoMessage();//执行刚写的方法
        System.out.println("==-->"+blogAuthor.getAuthorName());//输出刚刚得到的名字,记得写set和get方法
    }
}

运行方法,如果不是框架下的话直接把这个作为主函数
然后运行控制台会输出名字
在这里插入图片描述
那么就到这里,
告辞。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值