吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6984|回复: 26
收起左侧

[Java 转载] 30行代码写出JavaSe爬虫,适合刚学Java的人参考学习。

[复制链接]
六哥。 发表于 2018-11-28 01:27
本帖最后由 六哥。 于 2018-11-28 01:30 编辑

无聊随便写了一下,爬去某公司就业学生信息,使用了URLConnection写的,不过效率相对来说非常低,不过只是学习了JavaSe就想找点东西玩玩的,可以研究一下。
以下的判断是我屏蔽最后一条信息,那条信息是每个footer的信息,直接跳过。新手可以研究一下


package com.itzerone.url;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class UrlDemo {

    public static void main(String[] args) {
            URL url = null;
            try {
                    for (int i = 90; i < 122; i++) {
                            url = new URL("http://www.jinghangzz.com/content.php?id=" + i);

                            URLConnection connection = url.openConnection();

                            connection.connect();
                            connection.setConnectTimeout(1);
                            InputStream input = connection.getInputStream();

                            BufferedReader br = new BufferedReader(new InputStreamReader(input, "utf-8"));

                            String len = null;
                            Pattern nameregx = Pattern.compile("[\\u4e00-\\u9fa5-\\s]{2,}[:][\\u4e00-\\u9fa5-[+||*||\\s||:]-[a-zA-Z0-9]]{1,}");
                            while ((len = br.readLine()) != null) {

                                    Matcher m = nameregx.matcher(len);
                                    while (m.find()) {
                                            String name = m.group();
                                            if(name.equals("地址:郑州市郑东新区博学路平安大道正商学府广场B座2305")){
                                                    continue;
                                            }
                                            System.out.println(i+"--"+name);
                                    }
                            }
                            System.out.println("---------------------------------");
                    }
            } catch (MalformedURLException e) {
                    e.printStackTrace();
            } catch (IOException e) {
                    e.printStackTrace();
            }
    }

}

免费评分

参与人数 6吾爱币 +3 热心值 +4 收起 理由
wzc13935617933 + 1 谢谢@Thanks!
水泥工艺学 + 1 + 1 谢谢@Thanks!
admh + 1 谢谢@Thanks!
龙君之吻 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
jws6994 + 1 刚好拿走学习一下
peter_king + 1 谢谢@Thanks!

查看全部评分

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

王大胖mi 发表于 2018-12-11 19:48
Matcher m = nameregx.matcher(len);

这行, nameregx 报错, alt+回车那几个选项无法处理
提示can't resolve symbol "nameregx" 无法解析字符 nameregx
青语语 发表于 2019-2-13 13:19
楼主,这个
[Asm] 纯文本查看 复制代码
Pattern nameregx = Pattern.compile("[\\u4e00-\\u9fa5-\\s]{2,}[:][\\u4e00-\\u9fa5-[+||*||\\s||:]-[a-zA-Z0-9]]{1,}");
正则表达式怎么理解?
studio 发表于 2018-11-28 03:50
hbwwt 发表于 2018-11-28 06:47
跟着楼主学习学习
oulnar 发表于 2018-11-28 07:27
学习了,初学java,正好看看。。。
wwwmirage 发表于 2018-11-28 08:22

跟着楼主学习
54264 发表于 2018-11-28 08:44
楼主是在龙子湖吗
chaoyinli 发表于 2018-11-28 08:57
54264 发表于 2018-11-28 08:44
楼主是在龙子湖吗

蚌埠的吗?
54264 发表于 2018-11-28 12:10

不是的。。。
ANDCHUNG 发表于 2018-11-28 12:35
o零基础的来看看
萋小磊 发表于 2018-11-28 13:36
一行就搞定
Jsoup.connect("www.baidu.com").get();
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-17 03:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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