java爬虫

网络爬虫是自动抓取互联网数据的程序,通过HTTP协议模拟浏览器发送请求。它们可以用于数据分析、搜索系统、竞品分析等。爬虫分为通用和垂直爬虫,运行原理涉及HTTP状态码。示例程序展示了使用Java发送GET请求获取网页内容的过程。
摘要由CSDN通过智能技术生成

网络爬虫的基本概念

网络爬虫是什么
网络爬虫是一种运行在互联网上用来数据的自动化程序和脚本
分解出三个点
* 互联网上都有哪些数据?
* 形形色色的网站组成(新闻|贴吧|知道|音乐|图片|视频|地图|文库)
* 电商网站(用户|商品|订单|支付|物流|评论|分享)
* 微博(发送信息|转发|点赞|关注|被关注)
* 怎么去获取?通过什么样的技术手段去获取
* 网站的本质就是服务端程序,通过客户端(浏览器)和服务端尽心进行交互。
* HTTP协议(HTTP GET 或者Post )
* 开发网络爬虫,就是使用HTTP协议模拟浏览器进行网络请求
* request 就是提交请求信息
* response 获得数据
* 自动化程序或脚本 使用什么语言进行开发
* 语言是没有任何限制(Python、Java、.net、任何一种)

演示一个爬虫程序

要获取的数据是起点中文网的小说数据、自动化。

爬虫究竟有什么用?

  • 1)爬虫爬取的数据可以用来做数据分析,扩展:互联网的数据分析,大多数是针对用户的分析
    • 内部数据
    • 外部数据
  • 2)爬虫爬去的数据可以给搜索系统使用
    • 内部数据:站内搜索,不用爬虫
    • 外部数据:百度搜索
  • 3)竞品分析
  • 4)基于数据的商业模式
  • 5)……

简单分类

  • 通用爬虫,爬取的数据量非常大、范围特别广
  • 垂直爬虫,只爬取特定领域的数据,小的。

网络爬虫运行原理

网络爬虫的本质,其实就是模拟浏览器发送HTTP请求。
http协议的状态码

  • 1xx:信息响应类,表示接收到请求并且继续处理
  • 2xx:处理成功响应类,表示动作被成功接收、理解和接受
  • 3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
  • 4xx:客户端错误,客户请求包含语法错误或者是不能正确执行
  • 5xx:服务端错误,服务器不能正确执行一个正确的请求
    http协议中常见的状态
  • 200 正常访问,并且成功
  • 301,302 重定向
  • 404 资源不存在
  • 500 服务器端错误
    网络爬虫究竟是怎么运行的?
    单个页面是如何运行的?
  • 1)指定一个url
  • 2)使用技术发送get请求
  • 3)获得服务端的响应
  • 4)将二进制的数据,转化成HTML文档
    jdk原生封装的get方法
   public static void main(String[] args) throws IOException {
        //1.获取的yrl路径
        String url="http://www.itcast.cn";
        URL URL = new URL(url);
        //2.发请求
        URLConnection urlConnection = URL.openConnection();
        //3.获取结果
        // 4. 得到一个响应的数据,输入流(html文档的二进制文件,字符流)
        InputStream inputStream = urlConnection.getInputStream();
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream, Charset.forName("utf-8"));
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        //BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("utf-8")));
        String line = null;
        while((line = bufferedReader.readLine())!=null){
            System.out.println(line);
      }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值