java网络爬虫获取网页源代码原理及实现

     2022-05-04     669

关键词:

Java 网络爬虫获取网页源代码原理及实现

  1.网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。

  2.那么程序获取网页的原理到底是怎么回事呢?看下面的图:客服端首先向服务器端发出Http请求,之后服务器端返回相应的结果或者请求超时客户端自己报错。

  服务器端发出的Http请求,实际上说是对服务器的文件的请求。下面的表格是一些常见的HTTP请求对应的文件。(因为第一列给出的都是主机的网址信息,主机一般都通过配置文件将该请求转换为网站主页地址index.phpindex.jsp或者index.html等)

HTTP请求

HTTP对应的文件

 http://www.baidu.com

 http://www.baidu.com/index.php

 http://www.sina.com.cn

 http://www.sina.com.cn/index.html

 http://www.cnblogs.com

 http://www.cnblogs.com/index.html

 http://ac.jobdu.com

 http://ac.jobdu.com/index.php

   3.java实现网页源码获取的步骤:

  (1)新建URL对象,表示要访问的网址。如:url=new URL("http://www.sina.com.cn");

  (2)建立HTTP连接,返回连接对象urlConnection对象。如:urlConnection = (HttpURLConnection)url.openConnection();

  (3)获取相应HTTP 状态码。如responsecode=urlConnection.getResponseCode();

  (4)如果HTTP 状态码为200,表示成功。从urlConnection对象获取输入流对象来获取请求的网页源代码。

  4.java获取网页源码代码:

 

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

public class WebPageSource {

    public static void main(String args[]){    

        URL url;

        int responsecode;

        HttpURLConnection urlConnection;

        BufferedReader reader;

        String line;

        try{

            //生成一个URL对象,要获取源代码的网页地址为:http://www.sina.com.cn

            url=new URL("http://www.sina.com.cn");

            //打开URL

            urlConnection = (HttpURLConnection)url.openConnection();

            //获取服务器响应代码

            responsecode=urlConnection.getResponseCode();

            if(responsecode==200){

                //得到输入流,即获得了网页的内容

                reader=new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),"GBK"));

                while((line=reader.readLine())!=null){

                    System.out.println(line);

                }

            }

            else{

                System.out.println("获取不到网页的源码,服务器响应代码为:"+responsecode);

            }

        }

        catch(Exception e){

            System.out.println("获取不到网页的源码,出现异常:"+e);

        }

    }

}

 

爬虫基本原理代理

...自动化程序 1、获取网页获取网页,就是获取网页的源代码,从中提取有用的信息关键就是构造请求发送给服务端,然后接受响应并解析python提供了许多库来实现,比如urllib、requests等,可以利用这些库实现HTTP操作,请求和... 查看详情

java网络爬虫怎么实现?

参考技术A  网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。\\x0d\\x0a  传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前... 查看详情

python爬虫能干啥

...房产买卖及租售信息;可以抓取各类职位信息等。爬虫:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不... 查看详情

python网络爬虫学习手记——爬虫基础

...脚本。--------百度百科简单的说,爬虫就是获取目标网页源代码,并提取和保存网页信息的自动化程序或者脚本。网络爬虫脚本或者程序一般包含如下几个步骤:A.获取网页源代码爬虫首要的任务就是获取需要爬取的目标网页,... 查看详情

使用java实现网络爬虫

网络爬虫网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或... 查看详情

java实现网络爬虫-java入门|java基础课程

目标网络爬虫的是做什么的?手动写一个简单的网络爬虫;1.网络爬虫1.1.名称网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自... 查看详情

python爬虫4爬虫基本原理

爬虫基本原理爬虫的基本流程1、获取网页源代码:通过请求库实现,urllib,requests等实现HTTP请求;2、提取信息:分析网页源代码,提取数据,如正则表达式,beautifulsoup,pyquery,Ixml等;... 查看详情

理解爬虫原理(代码片段)

...爬虫原理爬虫:请求网站并提取数据的自动化程序百科:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不... 查看详情

爬虫实现原理与实现技术

原理知识小结1、聚焦网络爬虫,由于其需要有目的地进行爬去,所以对于通常网络爬虫来说,必须要增加目标的定义和过滤机制,具体来说,此时,其执行原理和过程需要比通常网络爬虫多出3步,即目标的定义、无关连接的过... 查看详情

爬虫原理与数据抓取-----(了解)通用爬虫和聚焦爬虫(代码片段)

通用爬虫和聚焦爬虫根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.通用爬虫通用网络爬虫是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形... 查看详情

python实现自动操作网页导出数据(不是爬虫)(代码片段)

前言:如题,此教程不是爬虫,因为我遇到的这个情况爬虫好像做不了,因为导出的数据有部分不在网页内,是从数据库取的值;场景说明:在系统内有多个列表(见下图左边红框),每个列表下有N条数据,此时要每个列表点... 查看详情

芝麻http:爬虫的基本原理

我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛。把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛... 查看详情

理解爬虫原理

1.简单说明爬虫原理   程序模拟浏览器送请求来获取网页代码,提取出有用的数据,储存起来。2.理解爬虫开发过程1).简要说明浏览器工作原理;   浏览器提交请求--->下载网页代码--->解析成页面2).使用... 查看详情

网络爬虫是什么意思?

...据用的。这类爬虫其实就做了两项工作:1.获取网页源代码;2.从网页源代码中解析和提取所需要的数据。很多反爬技术都是针对的第一项工作,阻止你通过爬虫获取到源代码,而只要获取了源代码,解析和提... 查看详情

java爬爬学习之webmagic(代码片段)

...爬虫的配置、启动和终止Spider爬虫配置Site爬虫分类通用网络爬虫聚焦网络爬虫增量式网络爬虫DeepWeb爬虫案例开发分析数据库表实现流程Scheduler组件三种去重方式使用和定制PipelinePipeline输出已有的Pipeline案例实现引入依赖加入配... 查看详情

python爬虫技术(从网页获取图片)+hierarchicalclustering层次聚类算法,实现自动从网页获取图片然后根据图片色调自动分类—jasonniu

...啰嗦,本人最讨厌一大堆没用的废话,直接上,就是干!网络爬虫?非监督学习?只有两步,只有两个步骤?Areyoukiddingme?Areyouok?来吧,followme,comeon!第一步:首先,我们从网上获取图片自动下载到自己电脑的文件内,如从网址... 查看详情

网络爬虫的基本原理

1、网络爬虫原理网络爬虫指按照一定的规则(模拟人工登录网页的方式),自动抓取网络上的程序。简单的说,就是讲你上网所看到页面上的内容获取下来,并进行存储。网络爬虫的爬行策略分为深度优先和广度优先。如下图... 查看详情

(-)理解原理,如何用集合实现一个简单但是完整的爬虫

##前言可能对于绝大多数的同学,或者比如我来说,爬虫就是模拟Http请求去获取网页上想获取的内容,这当然是爬虫最最基本的原理描述。但是对于一个可以平稳运行、持续运行的爬虫来说,他的原理可以这样描述:现有一个种... 查看详情