如何用java获取网页源代码

如何用java爬取网页源代码

分为3个步骤:

  1. 分析实现方式
  2. 代码展示
  3. 结果展示

1、分析

以b站为例 抓取b站的源代码是这样的

在这里插入图片描述

那么我可以用URL对象获取HttpURLConnection对象

HttpURLConnection对象:它继承自URLConnection,可用于向指定网站发送GET请求、POST请求。

调用URL中的 openConnection()再通过强转获得连接对象HttpURLConnection

HttpURLConnection 向网页发送请求然后我们读取网页的源代码

在我们发送请求的时候可能有些网址会报一个错误:Server returned HTTP response code: 403 for URL

这个错误的意思大概就是服务器的安全设置不接受Java程序作为客户端访问

这个时候我们需要进行安全设置:

//这个方法是HttpURLConnection中的方法  参数内容具体什么意思我也不知道,反正就是设置安全性
setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");

既然说到读取 那么就需要InputStream输入流 在HttpURLConnection有个 getInputStream()方法 可以获取我们的输入流对象

获取到了输入流就等于是已经拿到了源码

下面展示代码 我会把捕获到的源码写入到txt文件中

2、代码展示

main方法

public static void main(String[] args) throws Exception{getURLData("https://www.bilibili.com/","utf-8");
}

getURLData是我自己定义的方法 我是在方法中实现获取源码

getURLData 方法

static void getURLData(String Url, String coding) throws Exception {//创建URL对象  参数设置需要爬取的网址 也就是我们方法传过来的参数URL url = new URL(Url);//得到一个HttpURLConnection 对象HttpURLConnection huc = (HttpURLConnection) url.openConnection();//防止出现Server returned HTTP response code: 403 for URL 的错误//也就是服务器的安全设置不接受Java程序作为客户端访问  所以我们进行安全设置huc.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");//通过HttpURLConnection获得输入流对象InputStream is = huc.getInputStream();//使用缓冲字符输入流获取源码  设置编码BufferedReader r = new BufferedReader(new InputStreamReader(is,coding));String line;//写入文件中BufferedWriter bw = new BufferedWriter(new FileWriter("E:\\1、idea项目\\算法和数据结构\\Demo\\src\\test\\_爬网址源码\\1.txt"));//readLine()一次读一行 while ((line = r.readLine()) != null){bw.write(line);//读完一行就换行bw.newLine();//清空缓冲区bw.flush();}//关闭资源bw.close();r.close();is.close();
}

3、结果展示

在这里插入图片描述

这样我们就获得了b站的源代码,如果想要只爬取自己想要的数据
那么对数据(字符串)进行一个过滤就行了

学会了的点个赞吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/255692.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Android获取网页源代码

工程目录&#xff1a; 清单文件增加访问网络权限&#xff0c;防止Cleartext HTTP traffic to xxx not permitted错误设置CleartextTraffic“true” <uses-permission android:name"android.permission.INTERNET"/>android:usesCleartextTraffic"true&qu…

屏蔽html查看源代码,禁止查看网页源代码方法

总是有新手问,如何禁止别人查看自己的网页源代码?答案是没有,对于有经验者所有方法都是徒劳的。 禁止查看网页源代码方法 一般常用的方法是在网页中加上类似的JS代码,屏蔽屏蔽键盘和鼠标右键。document.onkeydown = function() {var e = window.event || arguments[0]; if …

使用 Python3 获取网页源代码

爬虫的数据爬取量非常大&#xff0c;显然不可能对每个页面都手动复制源代码&#xff0c;因此就有必要使用自动化的方式来获取网页源代码。requests是Python的一个第三方HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09;库&#xff0c;它比P…

html页面内容查找代码,网页源代码查看

怎么看一个网站的源代码,网页源代码怎么看 制作网页除了需要自己不断的灵感源泉,更需要借鉴前人们的经验和宝贵资源,平时多看别人的作品来丰富自己的知识库是十分好的方法,那我们怎么来借鉴别人的作品呢?当然是看别人的页面源代码了。互联网发展如此迅速。 如何查看一个网…

网页源代码查看竟然有这么多方法!你都知道吗?

当我们在浏览网页的时候&#xff0c;看到喜欢的网页&#xff0c;总想研究下它的代码是怎样写的&#xff0c;值得借鉴参考来修改自己的网站源码。你知道如何查看网页源代码吗&#xff1f; 网页源代码是什么&#xff1f; 网站源码&#xff0c;也称源代码&#xff0c;源程序&…

OpenWRT 实现Exsi8单个公网ip管理与访问

一台Dell R720机器 内存256G(64G*4)硬盘SSD 8T(1T*8)搭建了一个裸金属k8s集群(对比阿里云单台4核8G的费用不相上下) 机房上架提供了一个公网ip 需要一个公网ip能实现exsi虚拟机管理 又可以让虚拟机实现web访问 是终通过OpenWRT实现 OpenWRT实现步骤 1、官网访问并下载img镜…

Ubuntu 一键美化

新建一个setup.sh&#xff0c;以管理员权限安装 #!/bin/bash echo "" echo "#######################################################################" echo "# Start to configurate! #" ec…

蓝桥ROS中使用fishros一键安装

之前&#xff0c;提供如下方式解决更新问题&#xff1a; ROS域名解析问题记录&#xff08;蓝桥云课ros.asc&#xff09; 口碑很赞的fishros一键安装是否可以呢&#xff1f; 试一试看&#xff1a; 先调整一下分辨率&#xff0c;如下&#xff1a; fishros&#xff1a; mkdir -…

CF 云环境利用框架,一键化利用云上内网

前言 当我们平时拿到云服务的访问凭证即 Access Key 时&#xff0c;通常的做法可能是看下对方的 OSS 对象存储、或者在实例上执行个命令&#xff0c;但 AK 的利用远不止这些&#xff0c;通过 AK 我们可以做太多太多的事情&#xff0c;为了方便 AK 的利用&#xff0c;于是有了这…

python免费 爬取原创力文档并转换成pdf(部分版)

python爬取原创力文档并且保存为pdf文件&#xff08;部分版保姆级 文章目录 *python爬取原创力文档并且保存为pdf文件*&#xff08;部分版保姆级 前言一、爬取背景&#xff1f;二、正&#xff08;bai&#xff09;式&#xff08;piao&#xff09;操作1.安装库2.导入项目所需库3.…

java将json字符串转换成json数组

有些时候我们需要将json字符串转换成数组&#xff0c;并且只取一些属性值进行下一个方法的赋值&#xff0c;这样就涉及到了json字符串的转换了&#xff0c; json字符串有两种形式&#xff0c;一种是以{A,B,C}&#xff0c;一种是[{A},{B},{C}]。但是很多时候是这两种的结合。 …

js 数组、对象转json 以及json转 数组、对象

js 数组、对象转json 以及json转 数组、对象 1、JS对象转JSON 方式&#xff1a;JSON.stringify(obj) var json {"name":"iphone","price":666}; //创建对象&#xff1b; var jsonStr JSON.stringify(json); //转为JSON字符串 console.lo…

数组和JSON之间的格式转换

数组和JSON之间的格式转换 主要代码&#xff1a; const a JSON.stringify(jsonStrings) //object转jsonconst c JSON.parse(a) //json转object标志性代码&#xff1a; const jsonStrings [1, 2, 3]// {"bar": "property", "baz": 3}cons…

如何将JSONArray转为String数组

这里我们讲得JSONArray是阿里巴巴的fastjson 依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.78</version></dependency>直接上代码吧&#xff0c;并不复杂 public static …

手把手教你升级车载导航

【维保】手把手教你升级车载导航 车主档案 车主&#xff1a;深蓝网事 车系&#xff1a;15款新明锐1.4T逸俊版 城市规划每天都在紧张的进行着。 高速公路到达收费年限以后也会在继续修建然后接着收费。 自驾游的时候&#xff0c;面对比较另类的交叉路口不知道怎么走。 总结起来…

如何修复iPhone出现的白苹果问题

iPhone出现白苹果问题&#xff0c;这需要对手机进行系统修复&#xff0c;我们可以带着手机去苹果直营店解决问题&#xff0c;或者也可以自己在家使用iTunes进行恢复操作&#xff08;数据可能会被擦除&#xff09;或者也可以用第三方软件进行解决&#xff0c;我们以奥凯丰 苹果修…

短信恢复 android,苹果手机短信恢复:安卓+苹果手机短信恢复教程,必须收藏!...

原标题&#xff1a;苹果手机短信恢复&#xff1a;安卓苹果手机短信恢复教程&#xff0c;必须收藏&#xff01; 手机短信怎么恢复&#xff1f;日常生活中&#xff0c;大家或多或少会不小心把删除一些不必要的短信&#xff0c;比如注册某软件的验证码的短信&#xff0c;面试通知地…

苹果系统自带的计算机怎么恢复出厂设置,苹果电脑恢复出厂化设置的教程_苹果电脑怎样恢复出厂系统-win7之家...

在使用苹果电脑的时候&#xff0c;可能因为一些原因导致电脑出现系统崩溃或者无法正常启动的故障&#xff0c;很多用户可能会通过重置系统来解决&#xff0c;其实我们可以使用自带的恢复出厂功能来进行恢复&#xff0c;那么苹果电脑怎样恢复出厂系统呢&#xff1f;针对这个问题…

苹果电脑教程之退出ID账号

我们使用mac有时需要登录id账号来使用一些软件&#xff0c;使用完毕之后&#xff0c;一些朋友就会选择退出&#xff0c;可是有的朋友留言找了好久都没找到退出的方法&#xff0c;本期我们就来看看如何退出mac的id账号。 具体方法如下 1.在苹果电脑的系统偏好设置页面&#xf…

苹果cms大橙子和B站模板教程

介绍&#xff1a; 苹果cms大橙子和B站模板更新简介&#xff1a; 1、优化旧版本主题 2、优化首页和列表页采集 3、修复尝鲜分页尾页问题 4、修复历史记录标题过长换行问题 5、修复接口 6、修复广告位弹窗问题 安装步骤&#xff1a; 源码上传至虚拟机或者服务器 访问域名/instal…