从一个网页上摘取想要的元素

Posted AlexanderTheGreat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从一个网页上摘取想要的元素相关的知识,希望对你有一定的参考价值。

示例:从网页上摘取页面中的所有邮箱

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {
    public static void main(String[] args) throws Exception {
        // 1.1 创建一个url对象
        URL url = new URL(
                "https://www.douban.com/group/topic/41562980/?start=500");
        // 1.2打开链接
        URLConnection conn = url.openConnection();
        // 1.3 设置连接网络超时时间 单位为毫秒
        conn.setConnectTimeout(1000 * 10);
        // 1.4 通过流 操作读取指定网络地址中的文件
        BufferedReader bufr = new BufferedReader(new InputStreamReader(
                conn.getInputStream()));
        String line = null;
        // 1.5 匹配email的正则
        String regex = "[a-zA-Z0-9_-][email protected]\\w+\\.[a-z]+(\\.[a-z]+)?";
        // 1.6 使用模式的compile()方法生成模式对象
        Pattern p = Pattern.compile(regex);
        // 1.
        while ((line = bufr.readLine()) != null) {
            Matcher m = p.matcher(line);
            while (m.find()) {
                System.out.println(m.group());// 获得匹配的email
            }
        }
    }
}

 

以上是关于从一个网页上摘取想要的元素的主要内容,如果未能解决你的问题,请参考以下文章

Python+Selenium练习篇之1-摘取网页上全部邮箱

关于在Linux中摘取网页

网页上审查元素提取一段完整网页代码

想要使用片段从导航抽屉活动移动到另一个屏幕,以在所有屏幕上显示抽屉

炫酷 CSS 背景效果的 10 个代码片段

css有用的代码片段