java--根据URL获取信息

package com.util;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;

public class GetInfo {
    public static void main(String[] args) {
        String str = "1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,31,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,70,81,592,1775";
        String[] strs = str.split(",");
        final String STR_DATE = "29/13"; 
        StringBuffer sb = new StringBuffer();
        try {
            for(String str1 : strs){
                sb.append("======================频道:" + str1 +"==================== \n\t");
                URL url = new URL(
                        "http://218.108.129.151:28080/liveEpgScreenshot/TestAction?channleId="+str1);
                BufferedReader br = new BufferedReader(new InputStreamReader(url
                        .openStream()));
                String s = "";
                String s1 = "";
                String s2 = "";
                int num = 0;
                while ((s = br.readLine()) != null) {
                    if (s.indexOf("hdfs:") == 0) {
                        s1 = s.substring(s.length() - 2, s.length());
                        s1 = s1.trim();
                        s2 = s.substring(s.length()- 27, s.length() - 22);
                        if (Integer.parseInt(s1) != 60 && s2.equals(STR_DATE)) {
                            ++num;
                            System.out.println(s);
                            sb.append("序号"+num+": "+s+"\n\t");
                        }
                    }
                }
                br.close();
                File file = new File("d://result.txt");
                FileOutputStream fi = new FileOutputStream(file);
                OutputStreamWriter osw = new OutputStreamWriter(fi, "GBk");
                BufferedWriter bfw = new BufferedWriter(osw);
                bfw.write(sb.toString());
                bfw.close();
                osw.close();
                fi.close();
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

可以使用Java中的HttpURLConnection或者HttpClient库来获取网页数据,具体步骤如下: 1. 创建URL对象,设置请求的URL地址。 2. 打开连接,获取HttpURLConnection对象或者HttpClient对象。 3. 设置请求头信息,如User-Agent、Referer等。 4. 发送请求,获取响应数据。 5. 解析响应数据,提取所需内容。 6. 关闭连接,释放资源。 以下是使用HttpURLConnection实现获取网页数据的示例代码: ``` import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class Spider { public static void main(String[] args) { try { // 创建URL对象,设置请求的URL地址 URL url = new URL("http://www.example.com"); // 打开连接,获取HttpURLConnection对象 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置请求头信息 conn.setRequestMethod("GET"); conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"); // 发送请求,获取响应数据 InputStream in = conn.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); String line; StringBuilder sb = new StringBuilder(); while ((line = reader.readLine()) != null) { sb.append(line); } // 解析响应数据,提取所需内容 String html = sb.toString(); // 关闭连接,释放资源 in.close(); reader.close(); conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } } } ``` 代码中的url变量可以替换成需要爬取的网页地址,User-Agent可以根据需要进行修改。解析响应数据的部分需要根据具体的网页结构进行编写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值