网络爬虫

SEO:搜索引擎优化,研究怎么样才能使得本公司的商品被各大搜索引擎的算法收到,并且可以排在前列,比如百度搜索引擎

爬虫的基本原理:

1、得到一个URL(理论上根据一个URL可以获取到网络上的所有资源)
2、代码模拟人的行为下载资源
3、根据正则表达式分析资源
4、对数据进行etl处理之后入库

openStream():打开一个字节输入流下载资源

public class SpiderTest {
    public static void main(String[] args) throws IOException {
        //获取URL
        URL url = new URL("https://www.jd.com");
        //下载资源,打开一个字节输入流下载数据
        InputStream inputStream = url.openStream();
        //InputStreamReader:转换流,由于传输的是字符,所以可以直接将输入的字节流转成字符流
        //可以指定字符集
        //套上一个字符缓冲输入流,按行读取
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
        String msg =null;
        while(null!=(msg=bufferedReader.readLine())){
            System.out.println(msg);
        }
        //正则表达式分析资源
        //etl处理数据
    }
}

openConnection():打开一个http链接,模拟浏览器连接

当一些网站不能爬取时,可以利用代码模拟人访问浏览器的行为

public class SpiderTest01 {
    public static void main(String[] args) throws IOException {
        //获取URL
        URL url = new URL("https://www.dianping.com");
        //下载资源,模拟浏览器连接
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("user-agent","Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3704.400 QQBrowser/10.4.3587.400");
        //InputStreamReader:转换流,由于传输的是字符,所以可以直接将输入的字节流转成字符流
        //可以指定字符集
        //套上一个字符缓冲输入流,按行读取
        BufferedReader bufferedReader = new BufferedReader
                (new InputStreamReader(conn.getInputStream(), "UTF-8"));
        String msg =null;
        while(null!=(msg=bufferedReader.readLine())){
            System.out.println(msg);
        }
        //正则表达式分析资源
        //etl处理数据
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值