吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2539|回复: 1
收起左侧

[Java 转载] java利用Jsoup爬取糗事百科数据

  [复制链接]
loool 发表于 2018-11-12 15:40
一、首先,引入依赖jar包
<dependency>
                  <!-- jsoup HTML 解析-->
                  <groupId>org.jsoup</groupId>
                  <artifactId>jsoup</artifactId>
                  <version>1.11.3</version>
</dependency>
二、编写方法
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/*
* 爬虫
*/
public class MainActivity {
        /*
         * Jsoup爬取糗事百科数据
         */
        public static List<Map<String,String>> spider(String url,int pages){
               
                List<Map<String,String>> list = new ArrayList<Map<String,String>>();
        try {
            Document mozilla = Jsoup.connect(url+"/page/"+pages)
                    .userAgent("Mozilla")
                    .timeout(3000)
                    .get();
            Elements select1 = mozilla.select("div.article.block");
            for (Element element : select1) {
                Document parse = Jsoup.parse(element.toString());
                Elements select = parse.select("a h2");//作者
                Elements select2 = parse.select("a img");//作者头像
                Elements select3 = parse.select("a.contentHerf");//内容
                Elements select4 = parse.select("div.thumb img");//内容图片
                Elements select5 = parse.select("span.stats-vote i");//赞数量
                Map<String,String> map = new HashMap<String, String>();
                            map.put("author", select.text());//作者
                            map.put("author_img", select2.size()>0?"http:"+select2.attr("src"):"");//作者头像
                            map.put("content", select3.text());//内容
                            map.put("content_img",  select4.size()>0?"http:"+select4.attr("src"):"");//内容图片
                            map.put("number",  select5.text());//赞数量
                            list.add(map);
            }
            
        } catch (IOException e) {
                list = null;
        }
        return list;
        }
   
}

三,测试
String url = "https://www.qiushibaike.com/8hr/page/";
List<Map<String, String>> list = MainActivity.spider(url, 1);

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
HYHH + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

chen180 发表于 2018-11-27 00:00
666.超简单的吗?堪比python?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 22:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表