您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > JAVA

JAVA网络编程模拟浏览器获取html源代码(网络爬虫)

时间:2020-03-12 13:19:19  来源:  作者:

网络爬虫基本思路

基本思路:由关键字指定的url把所有相关的html页面全抓下来(html即为字符串),然后解析html文本(通常是正则表达式或者现成工具包如jsoup),提取文本信息,然后把文本信息存储起来。

网络爬虫操作步骤

URL(统一资源定位符)

下载资源

分析下载资源(正则表达式)

抽取、清洗、储存

该文章只会操作两步步骤URL和下载html资源。

网络编程小知识

JAVA网络编程模拟浏览器获取html源代码(网络爬虫)

 

URI:(Universal Resource Identifier)统一资源标记符,用来标记抽象或物理资源的一个紧凑字符串。

URL:(Universal Resource Locator)统一资源定位符,一种定位资源的主要访问机制的字符串,一个标准的URL必须包括:protocal(协议)、host(主机)、port(端口号)、path(路径)、parameter(参数)、anchor(锚)。

URN:(Universal Resource Name)统一资源名称,通过特定命名空间中的唯一名称或ID来标识资源。

URL和URN都是URI,但是URI不一定是URL或者URN。

seo搜索引擎优化

SEO是搜索引擎优化(Search Engine Optimization)的英文缩写,中文译为“搜索引擎优化”。在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多流量,从而达成网站销售及品牌建设的预期目标。

网络爬虫技术是SEO搜索引擎优化的基础(对网络爬虫感兴趣的同学可以深入研究)

JAVA中的JDK已经对URL(资源定位符)封装完毕,使用者只要会用即可。

使用JAVA代码下载网站资源有如下两种情况:

 

JAVA网络编程模拟浏览器获取html源代码(网络爬虫)

 

该代码主要是通过URL类的openStream方法来获取网络资源,如果还想了解URL类的信息的同学可以去看看JDK中URL类的源代码。

二、网站不允许外来访问(模仿浏览器使用HTTP协议交流)代码如下

 

JAVA网络编程模拟浏览器获取html源代码(网络爬虫)

 

注意事项

JAVA中的控制台储存空间有限,所以有时候HTML源代码会显示不全,但你可以通过IO操作来拷贝到文件中去。

HttpURLConnection类的setRequestProperty方法中的(String key,String value)参数需要到浏览器相应网页中去拷贝。

拷贝如下:

1、进入浏览器相关网页。

2、按住F12进入devtools。

3、拷贝Request包中最后一行数据。

4、冒号前的对应key参数,冒号后的对应value参数。

JAVA网络编程模拟浏览器获取html源代码(网络爬虫)

 



Tags:JAVA 网络编程   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
网络爬虫基本思路基本思路:由关键字指定的url把所有相关的html页面全抓下来(html即为字符串),然后解析html文本(通常是正则表达式或者现成工具包如jsoup),提取文本信息,然后把文本信...【详细内容】
2020-03-12  Tags: JAVA 网络编程  点击:(102)  评论:(0)  加入收藏
▌简易百科推荐
本文的目的是演示一个专门设计用于对收据照片执行OCR(光学字符识别)操作并自动从中提取关键业务信息的 API,例如企业名称和地址、电话号码、收据总额等等。在页面的下方,我提供...【详细内容】
2022-07-15  qaseven    Tags: OCR   点击:(2)  评论:(0)  加入收藏
StackOverflowError 可能会让Java开发人员感到恼火,因为它是我们可能遇到的最常见的运行时错误之一。在本文中,我们将通过查看各种代码示例以及如何处理它来了解此错误是如何...【详细内容】
2022-07-14  java程序猿    Tags:StackOverflowError   点击:(4)  评论:(0)  加入收藏
写在前面无意中看到ch1ng师傅的文章觉得很有趣,不得不感叹师傅太厉害了,但我一看那长篇的函数总觉得会有更骚的东西,所幸还真的有,借此机会就发出来一探究竟,同时也不得不感慨下R...【详细内容】
2022-07-13  江江111  今日头条  Tags:waf 绕过   点击:(4)  评论:(0)  加入收藏
今早,看到CSDN里推荐的Python获取女朋友发来加班拍照定位地址是酒店的段子,本来准备验证下,顺便练练手的,最后,安装执行pip install json报没有指定版本号。一怒之下搞我大JAVA,验...【详细内容】
2022-07-12  java小悠    Tags:Java 技术   点击:(8)  评论:(0)  加入收藏
核心代码:import java.util.Map;import java.util.List;import java.util.Iterator;import java.util.ArrayList;import java.io.IOException;import java.io.InputStream;im...【详细内容】
2022-07-12  编程课堂    Tags:Java Post   点击:(10)  评论:(0)  加入收藏
上半年春招的时候,作为面试官,对于面试表现的不错的同学会要求其写一小段代码看看。题目很简单:给定一个日期,然后计算下距离今天相差的天数。本以为这么个问题就是用来活跃面试...【详细内容】
2022-07-11  架构悟道    Tags:JAVA   点击:(11)  评论:(0)  加入收藏
跳表是一种数据结构,用于借助连接到元素子序列的链表层次结构来存储元素的排序列表。跳表允许以有效的方式处理项目查找。跳表是一种概率数据结构,这意味着它跳过整个列表中的...【详细内容】
2022-07-08  java程序猿    Tags:跳表   点击:(13)  评论:(0)  加入收藏
概述背景是不是在实际开发工作当中经常碰到自己写的代码在开发、测试环境行云流水稳得一笔,可一到线上就经常不是缺这个就是少那个反正就是一顿报错抽风似的,线上调试代码又很...【详细内容】
2022-07-08  程序猿的自述    Tags:Arthas   点击:(16)  评论:(0)  加入收藏
我之前分享了Java和Go语言版本的gRPC接口的服务端和客户端的开发,使用的基本都是基础的原声API,旧文如下: Grpc服务开发和接口测试初探【Java】 2022-04-20 gRPC服务开发和接口...【详细内容】
2022-07-07  FunTester    Tags:gRPC   点击:(16)  评论:(0)  加入收藏
Linux下启动Java程序的脚本程序startup.sh#!/bin/bashnohup java -Djava.security.egd=file:/dev/./urandom -Xms512m -Xmx512m -XX:MetaspaceSize=128M -XX:MaxMetaspaceSi...【详细内容】
2022-07-07  精科研习    Tags:Java   点击:(23)  评论:(0)  加入收藏
站内最新
站内热门
站内头条