-
2018-08-30 09:04:13
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; //数据抓取核心类 public class Copy { // 获取网页数据 /* * @param url:目标网址 * * @param encoding:编码 */ public static String getHtmlResourceByUrl(String url, String encoding) { StringBuffer buffer=new StringBuffer(); InputStreamReader isr=null; try { // 建立网络连接 URL urlObj = new URL(url); // 打开网络连接 URLConnection uc = urlObj.openConnection(); /* * io 流 * 从服务器下载源码到本地 * */ isr =new InputStreamReader(uc.getInputStream(),encoding);//建立文件的输入流 BufferedReader reader =new BufferedReader(isr);//缓冲 String line=null; while ((line=reader.readLine())!=null) { buffer.append(line+"\n"); } } catch (Exception e) { e.printStackTrace(); } finally{ try{ if(null!=isr)isr.close();} catch(IOException e){ e.printStackTrace(); } } return buffer.toString(); } // 主函数 public static void main(String[] args) { String htmlString=getHtmlResourceByUrl("http://www.qq.com", "gbk"); System.out.println(htmlString); } }
更多相关内容 -
Java获取任意http网页源代码的方法
2020-08-29 07:31:16主要介绍了Java获取任意http网页源代码的方法,可实现获取网页代码以及去除HTML标签的代码功能,涉及Java正则操作相关实现技巧,需要的朋友可以参考下 -
网页制作java源代码
2011-06-21 14:39:17里面包含了制作网页常用的源代码,如去掉超链接的下划线、自动刷新网页、点击即可返回到上一页面、网页源代码保护、鼠标放上去 按钮出现相应的说明文字等源代码,大家觉得有用的话,就下载看看 -
java代码实现网页源码爬取
2020-12-14 15:42:21java代码实现网页源码爬取 java代码基于Eclipse简单实现网页源码爬取 哈哈,大家好!我是yanxiaolxy,前天四级英语考试考完了,作业也不多了,感觉整个人都变得轻松了许多。 今天给大家分享我的最新java学习进程--java...java代码实现网页源码爬取
java代码基于Eclipse简单实现网页源码爬取
哈哈,大家好!我是yanxiaolxy,前天四级英语考试考完了,作业也不多了,感觉整个人都变得轻松了许多。 今天给大家分享我的最新java学习进程--java网页源码爬虫,废话不多说盘代码。
仅需一页代码:
package 网站爬虫2; /** * 爬取目标网页源代码示例 * @作者 YanXiaolxy * @版本 2020.03 * @时间 2020年12月14日 下午1:14:14 */ import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileWriter; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class webHtmlCrawer { public static void main(String[] args) { newFile(); } public static String getConnection() { String path = "https://www.taobao.com/"; try { HttpURLConnection conn = (HttpURLConnection) new URL(path).openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5000); if (conn.getResponseCode() == 200) { InputStream xml = conn.getInputStream(); byte[] data = read(xml); //System.out.println(xml); return new String(data); }else { System.out.println("连接失败!"); } } catch (Exception e) { e.printStackTrace(); } return null; } //读取数据流,转换为字符串 public static byte[] read(InputStream xml) throws Exception { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = xml.read(buffer)) != -1) { outputStream.write(buffer, 0, len); } xml.close(); return outputStream.toByteArray(); } public static void newFile() { String html = getConnection(); String dir = "D:/javafile/";//定义创建目录位置 File contents = new File(dir); contents.mkdirs();//创建文件目录 try { byte bytes[] = {1, 2, 3, 4}; File file = new File("D:/javafile/test.txt"); //判断文件是否存在,如果不存在就创建 if (!file.exists()) { file.createNewFile(); } FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); System.out.println("正在写入....."); bw.write(html); bw.close(); System.out.println("录入完毕"); } catch (Exception e) { e.getStackTrace(); } } }
使用注意:
1.图中红色标记为设置目标网站路径.
图片: 12.设置网页源代码存放目录和文件创建
欢迎各位发表评论和问题。
-
JAVA上百实例源码以及开源项目源代码
2018-12-11 17:07:42Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏 Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分... -
如何用java获取网页源代码
2021-12-03 11:16:22如何用java爬取网页源代码 分为3个步骤: 分析实现方式 代码展示 结果展示 1、分析 以b站为例 抓取b站的源代码是这样的 那么我可以用URL对象获取HttpURLConnection对象 HttpURLConnection对象:它继承自...如何用java爬取网页源代码
分为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站的源代码,如果想要只爬取自己想要的数据
那么对数据(字符串)进行一个过滤就行了学会了的点个赞吧~
-
java网页数据抓取源代码
2012-11-09 10:32:28java抓取网页数据,主要用于抓取手机号和身份证查询网站的数据。 -
Java支付宝网页端支付Demo代码
2016-08-05 16:00:16Java支付宝网页端支付Demo代码,喜欢的给好评哟 -
【Android】Java代码和内嵌HTML网页JS代码互相调用
2022-05-02 13:49:421.创建一个空项目 用Android studio创建一个空项目 2. 初始化项目 将项目设置成project视图 ... 选择main\assets ...java代码 button.setOnClickListener(view -> { webView.loadUrl("javascript1.创建一个空项目
用Android studio创建一个空项目
2. 初始化项目
将项目设置成project视图
点击src,选择new,新建一个文件夹
选择main\assets
将html文件放在该目录下(css、js等也都一起放过来)
3.编写代码
完整代码在后边,看第5部分。这里的只是为了便于划分代码功能
3.1 java调用js
java代码
button.setOnClickListener(view -> { webView.loadUrl("javascript:responseJava('java调用js')"); });
JavaScript代码
function responseJava(str) { $("#show").html(str) }
3.2 js调用java
javascript代码
// 从js调用java方法 function requestJava(){ // 调用Java方法 window.AndroidToast.show(info) }
java代码
public class AndroidToast { /** * 展示弹窗 * @param str html页面返回的输入的文本数据 */ @JavascriptInterface public void show(String str) { Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show(); } }
4.运行
4.1 java调用js
点击调用js按钮,可以看到网页上的文本发生了变化
4.2 js调用java
点击调用java按钮后可以看到安卓弹出消息条显示文本框内容
5. 整体代码
html代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <script src="jquery-1.8.3.js"></script> <script> // 从js调用java方法 function requestJava(){ info = $("#input_info").val() $("#input_info").val(info + 1) info = $("#input_info").val() // 调用java代码 window.AndroidToast.show(info) } // 从java调用js方法 function responseJava(str) { $("#show").html(str) } </script> <body> <input id="input_info" /> <button id="html_btn" onclick="requestJava()">调用java</button> <p id="show">暂无调用</p> </body> </html>
效果如下图:
主页面布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- 网页布局 --> <WebView android:id="@+id/web_view" android:layout_width="match_parent" android:layout_height="500dp" /> <Button android:id="@+id/call_js" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="调用js" /> </LinearLayout>
效果如下图:
主活动java代码
package priv.happy.java_js_eachother; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.webkit.JavascriptInterface; import android.webkit.WebSettings; import android.webkit.WebView; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView webView = findViewById(R.id.web_view); // 加载网页 webView.loadUrl("file:///android_asset/index.html"); // 初始化 WebSettings webSettings = webView.getSettings(); // 允许js webSettings.setJavaScriptEnabled(true); // 设置默认字符编码 webSettings.setDefaultTextEncodingName("UTF-8"); // 添加js接口 webView.addJavascriptInterface(new AndroidToast(), "AndroidToast"); Button button = findViewById(R.id.call_js); button.setOnClickListener(view -> { webView.loadUrl("javascript:responseJava('java调用js')"); }); } // 自定义的消息提示类 // @JavascriptInterface:作用是把AndroidToast类映射为Javascript中的AndroidToast对象 public class AndroidToast { /** * 展示弹窗 * @param str html页面返回的输入的文本数据 */ @JavascriptInterface public void show(String str) { Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show(); } } }
参考
https://blog.csdn.net/fyj568213959/article/details/52777403
-
用java代码下载网页图片
2010-08-17 16:39:04经常在网上搜东西都搜不到,更有人上传点没用了,现在我解决了就把解决方法上传上吧. -
纯Java实现整个网页截图项目源代码
2013-12-12 20:25:30精品必须10分啊,里面包含了java项目源代码和所需jar包,使用了DJNativeSwing组件技术实现。 -
java web静态网页制作代码
2011-09-30 09:49:25我的第一个静态网页代码关于软件工程师在线报名的静态网页 -
微信网页授权-java-代码类 -比较实用
2017-04-19 08:41:18微信网页授权-java-代码类:大家都说网页授权很绕 所以我昨天晚上 加今天早上赶了下,我也看了 网上没有什么好的代码参考 所以自己写下 给那些入门的做个参考 由于时间紧 注释没有来得及写完整 还望见谅! -
java实现网页浏览器(java源代码)
2009-06-25 13:23:01轻量级组件与重量级组件混用 使用树组件实现收藏夹 使用选项卡分多页显示网页 -
3套精品java网页聊天源代码(绝对值得1看)
2013-03-27 12:13:083套精品java网页聊天源代码(绝对值得1看) 精品 java网页聊天源代码 java+ajax -
JAVA微信公众平台源代码(包含网页授权)
2016-01-06 13:40:55JAVA微信公众平台源代码(包含网页授权) 关注、取消关注、自动回复、文本回复、图片回复、视频回复、音乐回复。 值得学习一下。 -
java抓取网页内容源代码
2012-05-04 23:43:05个人编写的java抓取网页内容的代码,可以下载斟酌 -
Java提交后获取网页源代码
2011-06-24 11:12:17利用java进行网页的源代码获取 可以用在数据采集使用 可用于安卓平台 -
Java Web 新闻网页制作源代码
2012-10-10 20:13:22Java Web 新闻网页制作源代码,自己做的网页 -
html中怎么写java代码
2021-02-27 18:46:461.如何在HTML页面中写java代码Java要运行html代码,需要运行在服务器端,也就是servlet容器中,经过容器编译解析,返回html静态内容,示例如下:在servlet里面写就可以了引入一系列包import java.io.IOException;... -
java如何修改网页源代码?用什么方法实现?
2018-11-13 15:00:49项目没有,只给了一个网站,打开里面的源码,如何将图片里面的网址修改掉? -
java爬取网页数据
2021-03-06 03:07:49最近使用java实现了一个简单的网页数据抓取,下面是实现原理及实现代码:原理:使用java.net下面的URL对象获取一个链接,下载目标网页的源代码,利用jsoup解析源代码中的数据,获取你想要的内容1.首先是根据网址下载... -
java 通过指定的URL可以获取网页的源代码
2010-06-21 16:42:57java 通过指定的URL可以获取网页的源代码 java 通过指定的URL可以获取网页的源代码 -
java访问网页
2021-03-04 08:57:40try {String getURL = "http://221.182.1.4/apm_internal/sdapi_2/testpj.php";URL getUrl = new URL(getURL);// 根据拼凑的URL,打开连接,URL.openConnection()函数会根据 URL的类型,返回不同的URLConnection子类... -
教你如何使用Java代码从网页中爬取数据到数据库中——网络爬虫精华篇
2020-05-23 10:56:49就在前天,我的一个项目进入到了省赛,想下定决心把自己的一部分未完成的功能完善起来(想爬取网页上的各种数据到自己的所对应的页面上显示),这个问题在我脑子里回旋许久,于是打开电脑就在网上查阅各种资料,而我... -
Java代码是怎么运行的?
2021-12-17 20:37:37Java代码是怎么运行的?前言为什么 Java 要在虚拟机里运行?Java 虚拟机具体是怎样运行 Java 字节码的?Java 虚拟机的运行效率究竟是怎么样的?总结 前言 Java 和 C++ 在运行方式上的区别: Java 代码有很多种不同... -
用java代码实现九九乘法表
2021-08-01 15:35:19具体代码实现: for循环 public class MultTable { public static void main(String[] args) { //此处调用九九乘法表方法实现打印 multMethod(); } public static void multMethod() { / -
代码自动对齐工具(网页版)(Java、C#、XML、Javascript等)
2013-05-26 11:02:531、不到1M的网页版自动对齐工具,方便快速...2、可对Java、C#、C++、Javascript、XML、HTML等等类xml和类C风格的代码进行自动对齐(自动格式化)。 3、无需联网,可直接将htm文件加到浏览器书签栏。 4、代码编辑神器。 -
java获取响应网页源代码
2017-10-06 19:57:34java使用BZip算法压缩解压缩文件、数据流、byte[]字节数组需要添加org.apache.commons.compress包,下载测试代码public static void main(String[] args) { try { String inputStr = "zlex@zlex -
用java实现爬虫抓取网页中的表格数据功能源码
2016-12-20 10:52:27使用java代码基于MyEclipse开发环境实现爬虫抓取网页中的表格数据,将抓取到的数据在控制台打印出来,需要后续处理的话可以在打印的地方对数据进行操作。包解压后导入MyEclipse就可以使用,在TestCrawTable中右键...