Java爬虫系列三:使用Jsoup解析HTML

Java爬虫系列三:使用Jsoup解析HTML

在上一篇随笔《Java爬虫系列二:使用HttpClient抓取页面HTML》中介绍了怎么使用HttpClient进行爬虫的第一步--抓取页面html,今天接着来看下爬虫的第二步--解析抓取到的html。

有请第二步的主角:Jsoup粉墨登场。下面我们把舞台交给Jsoup,让他完成本文剩下的内容。

============华丽的分割线=============

一、Jsoup自我介绍

大家好,我是Jsoup。

我是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据,用Java写爬虫的同行们十之八九用过我。为什么呢?因为我在这个方面功能强大、使用方便。不信的话,可以继续往下看,代码是不会骗人的。

二、Jsoup解析html

上一篇中,HttpClient大哥已经抓取到了博客园首页的html,但是一堆的代码,不是程序员的人们怎么能看懂呢?这个就需要我这个html解析专家出场了。

下面通过案例展示如何使用Jsoup进行解析,案例中将获取博客园首页的标题和第一页的博客文章列表

Java爬虫系列三:使用Jsoup解析HTML_第1张图片

 

请看代码(在上一篇代码的基础上进行操作,如果还不知道如何使用httpclient的朋友请跳转页面进行阅读):

  1. 引入依赖
    
        org.jsoup
        jsoup
        1.12.1
    

     

  2. 实现代码。实现代码之前首先要分析下html结构。标题是不用说了,那文章列表呢?按下浏览器的F12,查看页面元素源码,你会发现列表是一个大的div,id="post_list",每篇文章是小的div,class="post_item"<a href="http://img.e-com-net.com/image/info8/579726cc538d45669476e157dcbf5631.jpg" target="_blank"><img alt="Java爬虫系列三:使用Jsoup解析HTML_第2张图片" class="has" src="http://img.e-com-net.com/image/info8/579726cc538d45669476e157dcbf5631.jpg" width="650" height="331" style="border:1px solid black;"></a><p>接下来就可以开始代码了,Jsoup核心代码如下(整体源码会在文章末尾给出):</p> <pre><code class="language-html hljs">/** * 下面是Jsoup展现自我的平台 */ //6.Jsoup解析html Document document = Jsoup.parse(html); //像js一样,通过标签获取title System.out.println(document.getElementsByTag("title").first()); //像js一样,通过id 获取文章列表元素对象 Element postList = document.getElementById("post_list"); //像js一样,通过class 获取列表下的所有博客 Elements postItems = postList.getElementsByClass("post_item"); //循环处理每篇博客 for (Element postItem : postItems) { //像jquery选择器一样,获取文章标题元素 Elements titleEle = postItem.select(".post_item_body a[class='titlelnk']"); System.out.println("文章标题:" + titleEle.text());; System.out.println("文章地址:" + titleEle.attr("href")); //像jquery选择器一样,获取文章作者元素 Elements footEle = postItem.select(".post_item_foot a[class='lightblue']"); System.out.println("文章作者:" + footEle.text());; System.out.println("作者主页:" + footEle.attr("href")); System.out.println("*********************************"); }</code></pre> <p>根据以上代码你会发现,我通过Jsoup.parse(String html)方法对httpclient获取到的html内容进行解析获取到Document,然后document可以有两种方式获取其子元素:像js一样 可以通过getElementXXXX的方式 和 像jquery 选择器一样通过select()方法。 无论哪种方法都可以,我个人推荐用select方法处理。对于元素中的属性,比如超链接地址,可以使用element.attr(String)方法获取, 对于元素的文本内容通过element.text()方法获取。</p> </li> <li>执行代码,查看结果(不得不感慨博客园的园友们真是太厉害了,从上面分析首页html结构到Jsoup分析的代码执行完,这段时间首页多了那么多文章)<a href="http://img.e-com-net.com/image/info8/dbd73ff7bcc6442394ae7cc1d2339fc1.jpg" target="_blank"><img alt="Java爬虫系列三:使用Jsoup解析HTML_第3张图片" class="has" src="http://img.e-com-net.com/image/info8/dbd73ff7bcc6442394ae7cc1d2339fc1.jpg" width="650" height="387" style="border:1px solid black;"></a><p>由于新文章发布的太快了,导致上面的截图和这里的输出有些不一样。</p> </li> </ol> <p> </p> <p><strong>三、Jsoup的其他用法</strong></p> <p>我,Jsoup,除了可以在httpclient大哥的工作成果上发挥作用,我还能自己独立干活,自己抓取页面,然后自己分析。分析的本领已经在上面展示过了,下面来展示自己抓取页面,其实很简单,所不同的是我直接获取到的是document,不用再通过Jsoup.parse()方法进行解析了。</p> <p><a href="http://img.e-com-net.com/image/info8/417e56bd37d04f9ab503253a435e2359.jpg" target="_blank"><img alt="Java爬虫系列三:使用Jsoup解析HTML_第4张图片" class="has" src="http://img.e-com-net.com/image/info8/417e56bd37d04f9ab503253a435e2359.jpg" width="650" height="302" style="border:1px solid black;"></a></p> <p>除了能直接访问网上的资源,我还能解析本地资源:</p> <p>代码:</p> <pre><code class="language-html hljs">public static void main(String[] args) { try { Document document = Jsoup.parse(new File("d://1.html"), "utf-8"); System.out.println(document); } catch (IOException e) { e.printStackTrace(); } }</code></pre> <p> </p> <p><strong>四、Jsoup另一个值得一提的功能</strong></p> <p> 你肯定有过这种经历,在你的页面文本框中,如果输入html元素的话,保存后再查看很大概率会导致页面排版乱七八糟,如果能对这些内容进行过滤的话,就完美了。</p> <p>刚好我Jsoup就能做到。</p> <pre><code class="language-html hljs">public static void main(String[] args) { String unsafe = "<p><a href='网址' οnclick='stealCookies()'>博客园</a></p>"; System.out.println("unsafe: " + unsafe); String safe = Jsoup.clean(unsafe, Whitelist.basic()); System.out.println("safe: " + safe); }</code></pre> <p>通过Jsoup.clean方法,用一个白名单进行过滤。执行结果:</p> <pre><code class="language-html hljs">unsafe: <p><a href='网址' οnclick='stealCookies()'>博客园</a></p> safe: <p><a rel="nofollow">博客园</a></p></code></pre> <p> </p> <p><strong>五、结束语</strong></p> <p> 通过以上大家相信我很强大了吧,不仅可以解析HttpClient抓取到的html元素,我自己也能抓取页面dom,我还能load并解析本地保存的html文件。</p> <p>此外,我还能通过一个白名单对字符串进行过滤,筛掉一些不安全的字符。</p> <p>最最重要的,上面所有功能的API的调用都比较简单。</p> <p> </p> <p>============华丽的分割线=============</p> <p>码字不易,点个赞再走呗~~</p> <p>最后,附上案例中 解析博客园首页文章列表的完整源码:</p> <p><img alt="" class="code_img_closed" id="code_img_closed_075a2c50-6bac-4fa5-825d-2d83f50c8af1" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" width="11" height="16"><img alt="" class="code_img_opened" id="code_img_opened_075a2c50-6bac-4fa5-825d-2d83f50c8af1" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" width="11" height="16"></p> <pre><code class="language-html hljs">package httpclient_learn; import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.utils.HttpClientUtils; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class HttpClientTest { public static void main(String[] args) { //1.生成httpclient,相当于该打开一个浏览器 CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse response = null; //2.创建get请求,相当于在浏览器地址栏输入 网址 HttpGet request = new HttpGet("https://www.cnblogs.com/"); //设置请求头,将爬虫伪装成浏览器 request.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"); // HttpHost proxy = new HttpHost("60.13.42.232", 9999); // RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); // request.setConfig(config); try { //3.执行get请求,相当于在输入地址栏后敲回车键 response = httpClient.execute(request); //4.判断响应状态为200,进行处理 if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { //5.获取响应内容 HttpEntity httpEntity = response.getEntity(); String html = EntityUtils.toString(httpEntity, "utf-8"); System.out.println(html); /** * 下面是Jsoup展现自我的平台 */ //6.Jsoup解析html Document document = Jsoup.parse(html); //像js一样,通过标签获取title System.out.println(document.getElementsByTag("title").first()); //像js一样,通过id 获取文章列表元素对象 Element postList = document.getElementById("post_list"); //像js一样,通过class 获取列表下的所有博客 Elements postItems = postList.getElementsByClass("post_item"); //循环处理每篇博客 for (Element postItem : postItems) { //像jquery选择器一样,获取文章标题元素 Elements titleEle = postItem.select(".post_item_body a[class='titlelnk']"); System.out.println("文章标题:" + titleEle.text());; System.out.println("文章地址:" + titleEle.attr("href")); //像jquery选择器一样,获取文章作者元素 Elements footEle = postItem.select(".post_item_foot a[class='lightblue']"); System.out.println("文章作者:" + footEle.text());; System.out.println("作者主页:" + footEle.attr("href")); System.out.println("*********************************"); } } else { //如果返回状态不是200,比如404(页面不存在)等,根据情况做处理,这里略 System.out.println("返回状态不是200"); System.out.println(EntityUtils.toString(response.getEntity(), "utf-8")); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { //6.关闭 HttpClientUtils.closeQuietly(response); HttpClientUtils.closeQuietly(httpClient); } } }</code></pre> <p>View Code</p> <p> </p> <p>posted @ 2019-05-25 16:08 JAVA开发老菜鸟 阅读(...) 评论(...) 编辑 收藏</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1187401247402074112"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Java爬虫)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835454921990828032.htm" title="Java爬虫框架(一)--架构设计" target="_blank">Java爬虫框架(一)--架构设计</a> <span class="text-muted">狼图腾-狼之传说</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%BB%BB%E5%8A%A1/1.htm">任务</a><a class="tag" taget="_blank" href="/search/html%E8%A7%A3%E6%9E%90%E5%99%A8/1.htm">html解析器</a><a class="tag" taget="_blank" href="/search/%E5%AD%98%E5%82%A8/1.htm">存储</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%AD%90%E5%95%86%E5%8A%A1/1.htm">电子商务</a> <div>一、架构图那里搜网络爬虫框架主要针对电子商务网站进行数据爬取,分析,存储,索引。爬虫:爬虫负责爬取,解析,处理电子商务网站的网页的内容数据库:存储商品信息索引:商品的全文搜索索引Task队列:需要爬取的网页列表Visited表:已经爬取过的网页列表爬虫监控平台:web平台可以启动,停止爬虫,管理爬虫,task队列,visited表。二、爬虫1.流程1)Scheduler启动爬虫器,TaskMast</div> </li> <li><a href="/article/1835438028009598976.htm" title="WebMagic:强大的Java爬虫框架解析与实战" target="_blank">WebMagic:强大的Java爬虫框架解析与实战</a> <span class="text-muted">Aaron_945</span> <a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>文章目录引言官网链接WebMagic原理概述基础使用1.添加依赖2.编写PageProcessor高级使用1.自定义Pipeline2.分布式抓取优点结论引言在大数据时代,网络爬虫作为数据收集的重要工具,扮演着不可或缺的角色。Java作为一门广泛使用的编程语言,在爬虫开发领域也有其独特的优势。WebMagic是一个开源的Java爬虫框架,它提供了简单灵活的API,支持多线程、分布式抓取,以及丰富的</div> </li> <li><a href="/article/1830890417571328000.htm" title="如何在Java爬虫中设置代理IP:详解与技巧" target="_blank">如何在Java爬虫中设置代理IP:详解与技巧</a> <span class="text-muted">天启代理ip</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a> <div>在进行网络爬虫时,使用代理IP可以有效地避免被目标网站封禁,提升数据抓取的成功率。本文将详细介绍如何在Java爬虫中设置代理IP,并提供一些实用的技巧和示例代码。为什么需要代理IP?在进行爬虫操作时,频繁的请求可能会引起目标网站的注意,甚至导致IP被封禁。就像一只贪心的小猫不停地偷鱼吃,迟早会被发现。为了避免这种情况,我们可以使用代理IP,模拟多个用户,从而降低被封禁的风险。获取代理IP获取代理I</div> </li> <li><a href="/article/1830798399587315712.htm" title="2024年Java爬虫利器:Jsoup详细介绍与用法_java jsoup(1)" target="_blank">2024年Java爬虫利器:Jsoup详细介绍与用法_java jsoup(1)</a> <span class="text-muted">2401_84562143</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>.method(Connection.Method.GET).execute();DocumentloginDoc=loginForm.parse();Elementform=loginDoc.select(“form”).first();//填充表单字段form.select(“input[name=username]”).val(“username”);form.select(“input[n</div> </li> <li><a href="/article/1830797515704856576.htm" title="Java爬虫开发:Jsoup库在图片URL提取中的实战应用" target="_blank">Java爬虫开发:Jsoup库在图片URL提取中的实战应用</a> <span class="text-muted">小白学大数据</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>在当今的互联网时代,数据的获取和处理变得尤为重要。对于网站内容的自动化抓取,爬虫技术扮演着不可或缺的角色。Java作为一种广泛使用的编程语言,拥有丰富的库支持网络爬虫的开发。其中,Jsoup库以其简洁、高效的特点,成为处理HTML内容和提取数据的优选工具。本文将详细介绍如何使用Jsoup库开发Java爬虫,以实现图片URL的提取。Jsoup库简介Jsoup是一个用于解析HTML文档的Java库,它</div> </li> <li><a href="/article/1757301153126694912.htm" title="Java编写爬虫和Python编写爬虫到底有什么区别" target="_blank">Java编写爬虫和Python编写爬虫到底有什么区别</a> <span class="text-muted">菜到极致就是渣</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E7%9F%A5%E8%AF%86/1.htm">网络知识</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>关于Java编写爬虫和Python编写爬虫,以前我就特别疑惑,但是却并没有放在心上,不知道最近我为什么会突然感兴趣。于是我就搜了一下爬虫相关知识以及学习课程,结果我发现全都是用Python来进行网络爬虫,基本上看不到Java爬虫,以前没学爬虫的时候,我还以为只能用Python进行爬虫,难道我还要再去学Python?后面我才发现Java也可以进行爬虫,但是竟然Java也可以爬虫的话,为什么很多教学网</div> </li> <li><a href="/article/1755986156903743488.htm" title="【开源项目阅读】Java爬虫抓取豆瓣图书信息" target="_blank">【开源项目阅读】Java爬虫抓取豆瓣图书信息</a> <span class="text-muted">IncludeFun</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>原项目链接Java爬虫抓取豆瓣图书信息本地运行运行过程另建项目,把四个源代码文件拷贝到自己的包下面在代码爆红处按ALT+ENTER自动导入maven依赖直接运行Main.main方法,启动项目运行结果在本地磁盘上生成三个xml文件其中的内容即位爬取后到的图书信息,包括:书名作者名出版社名isbn号图书对应的豆瓣链接图书封面图片地址可惜并没有直接爬取到图书的内容,不过可以凭借爬取得到的图书元数据去其</div> </li> <li><a href="/article/1754878322258493440.htm" title="JAVA爬虫三种方法" target="_blank">JAVA爬虫三种方法</a> <span class="text-muted">weixin_40298650</span> <div>文章目录前言一、JDK二、HttpClient三、Jsoup总结前言记录JAVA爬虫三种方式一、JDK使用JDK自带的URLConnection实现网络爬虫。publicvoidtestGet()throwsException{//1.确定要访问/爬取的URLURLurl=newURL("https://blog.csdn.net/weixin_40298650/article/details/1</div> </li> <li><a href="/article/1752200777201369088.htm" title="Java爬虫与SSL代理:实际案例分析与技术探讨" target="_blank">Java爬虫与SSL代理:实际案例分析与技术探讨</a> <span class="text-muted">小白学大数据</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/ssl/1.htm">ssl</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>前言网络爬虫成为获取互联网数据的重要工具之一,然而,随着网络安全意识的提高,许多网站开始采用SSL加密来保护数据传输的安全性。本文将介绍如何使用Java编程语言结合SSL代理技术来实现网络爬虫,并通过实际案例分析和技术探讨来展示其应用价值。SSL代理技术优势SSL代理技术是一种能够在SSL加密通信中进行中间人攻击的技术,通过SSL代理,我们可以在客户端和服务器之间插入一个代理服务器,对SSL加密的</div> </li> <li><a href="/article/1751614557148692480.htm" title="Java爬虫+协同过滤+Springboot+vue.js实现的小说推荐系统,小说推荐平台,小说管理系统" target="_blank">Java爬虫+协同过滤+Springboot+vue.js实现的小说推荐系统,小说推荐平台,小说管理系统</a> <span class="text-muted">计算机程序优异哥</span> <div>互联网小说资源网站非常的多,但是很多阅读资源都需要收费开会员才能阅读。因此本次毕业设计程序立足于网络爬虫技术采集互联网小说资源分析汇总至本小说推荐平台,基于用户协同过滤推荐算法对不同的用户展开个性化的小说内容推荐阅读。一、程序设计本次基于爬虫的小说推荐系统主要内容涉及:主要功能模块:小说阅读推荐前端平台,小说数据管理与分析平台主要包含技术:java爬虫,redis,springboot,mybat</div> </li> <li><a href="/article/1751142270251319296.htm" title="Java爬虫批量爬取图片" target="_blank">Java爬虫批量爬取图片</a> <span class="text-muted">zxy199288</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>Java爬取图片现在开始学习爬虫,对于爬虫的入门来说,图片相对来说是比较容易获取的,因为大部分图片都不是敏感数据,所以不会遇到什么反爬措施,对于入门爬虫来说是比较合适的。使用技术:Java基础知识、HttpClient4.x、Jsoup学习目标:下载静态资源图片。爬取思路对于这种图片的获取,其实本质上就是就是文件的下载(HttpClient)。但是因为不只是获取一张图片,所以还会有一个页面解析的处</div> </li> <li><a href="/article/1751142269466984448.htm" title="JAVA爬虫案例——JSOUP爬取图片并使用v-viewer实现图片预览" target="_blank">JAVA爬虫案例——JSOUP爬取图片并使用v-viewer实现图片预览</a> <span class="text-muted">北溟溟</span> <a class="tag" taget="_blank" href="/search/JAVA/1.htm">JAVA</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a> <div>前言网络爬虫是大数据时代收集数据的一种有效手段,合理合法的运用技术手段获取网络数据,实现数据的再利用也是程序员的一项重要技能。本节我们使用java环境下的jsoup实现网络数据的爬取,主要是图片数据的异步爬取,并实现网络图片的下载及图片的预览功能,预览功能使用具有丰富功能的v-viewer实现。正文引入爬虫pom工具包org.apache.httpcomponentshttpclient4.5.6</div> </li> <li><a href="/article/1751142014369415168.htm" title="Jsoup - 【Java爬虫】- 批量下载指定网站图片" target="_blank">Jsoup - 【Java爬虫】- 批量下载指定网站图片</a> <span class="text-muted">QX_Java_Learner</span> <a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>简介Jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。Jsoup对多线程、连接池、代理等等的支持并不是很好,所以一般把Jsoup仅仅作为HTML解析工具使用。功能从一个URL、文件或字符串中解析HTML使用DOM或CSS选择器来查找、取出数据可操作HTML元素、属</div> </li> <li><a href="/article/1749938669562642432.htm" title="Java爬虫,关于selenium/guava/JDK版本的兼容性说明" target="_blank">Java爬虫,关于selenium/guava/JDK版本的兼容性说明</a> <span class="text-muted">佩洛君</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a> <div>直接给maven这个是JDK1.8下绝对能跑的,测试时间:2024/1/18org.seleniumhq.seleniumselenium-java4.1.1com.google.guavaguava31.0.1-jre行吧,cloudFlare能挡住selenium,给我防麻了这个兼容性不行,版本差一点点就报错</div> </li> <li><a href="/article/1748500684082266112.htm" title="java爬取数据放入mysql_Java爬虫历险记 -- (2)爬取数据并存放到mysql" target="_blank">java爬取数据放入mysql_Java爬虫历险记 -- (2)爬取数据并存放到mysql</a> <span class="text-muted">郑默默</span> <a class="tag" taget="_blank" href="/search/java%E7%88%AC%E5%8F%96%E6%95%B0%E6%8D%AE%E6%94%BE%E5%85%A5mysql/1.htm">java爬取数据放入mysql</a> <div>本文是对博客下雨天没带伞–JAVA实现网页爬虫及将数据写入数据库–http://blog.csdn.net/sinat_38224744/article/details/70652767中代码的理解和补充,并使用NavicatforMySQL软件实现对数据的可视化操作。代码分成两部分:Web.java+Jdbc.java一、Web.java/***原博客:http://blog.csdn.net/</div> </li> <li><a href="/article/1747484901889818624.htm" title="Java爬虫爬取图片壁纸" target="_blank">Java爬虫爬取图片壁纸</a> <span class="text-muted">.陌路</span> <a class="tag" taget="_blank" href="/search/SpringBoot3.x/1.htm">SpringBoot3.x</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/SpringBoot3.x/1.htm">SpringBoot3.x</a><a class="tag" taget="_blank" href="/search/Java17/1.htm">Java17</a><a class="tag" taget="_blank" href="/search/springboot3/1.htm">springboot3</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>Java爬虫以sougou图片为例:https://pic.sogou.com/JDK17、SpringBoot3.2.X、hutool5.8.24实现Java爬虫,爬取页面图片项目介绍开发工具:IDEA2023.2.5JDK:Java17SpringBoot:3.2.x通过SpringBoot快速构建开发环境,通过Jsoup实现对网页的解析,并获取想要的资源数据使用hutool工具,将所需要的字</div> </li> <li><a href="/article/1746715788523356160.htm" title="Java爬虫-使用jsoup爬取数据入门案例(爬取豆瓣电影Top250数据)" target="_blank">Java爬虫-使用jsoup爬取数据入门案例(爬取豆瓣电影Top250数据)</a> <span class="text-muted">丿BAIKAL巛</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Java%E7%88%AC%E8%99%AB/1.htm">Java爬虫</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>有需要用到jsoup来获取数据,因为之前没有用过,所以就想写一个入门案例来巩固一下,这个案例的功能是爬取豆瓣电影Top250的电影数据(电影名称,简介,评分,评价等),并且将数据存到Excel表格中。这是豆瓣电影Top250的网址,https://movie.douban.com/top250?start=0文章目录一、前置工作1.1技术介绍JsoupApachePOI1.2依赖导入Jsoup入门</div> </li> <li><a href="/article/1745962155192107008.htm" title="java爬虫和python爬虫的区别" target="_blank">java爬虫和python爬虫的区别</a> <span class="text-muted">考一个红薯</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a> <div>java爬虫与python爬虫的对比:python做爬虫语法更简单,代码更简洁。java的语法比python严格,而且代码也更复杂示例如下:url请求:java版的代码如下:publicStringcall(Stringurl){Stringcontent="";BufferedReaderin=null;try{URLrealUrl=newURL(url);URLConnectionconnec</div> </li> <li><a href="/article/1744697455368224768.htm" title="用Java爬取新房二手房数据看总体大环境" target="_blank">用Java爬取新房二手房数据看总体大环境</a> <span class="text-muted">q56731523</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%90%86%E6%A8%A1%E5%BC%8F/1.htm">代理模式</a> <div>都说现在房市惨淡,导致很多人在观望,那么今天我写一段爬虫,主要是抓取各地新房以及二手房成交状况,然后了解总体楼市是否回暖上升。以下是Java爬虫程序的代码示例,用于抓取贝壳网新房和二手房数据:importorg.jsoup.Jsoup;importorg.jsoup.nodes.Document;importorg.jsoup.nodes.Element;importorg.jsoup.selec</div> </li> <li><a href="/article/1744697457477959680.htm" title="新车怎么选?用Java采集汽车之家车辆配置参数信息" target="_blank">新车怎么选?用Java采集汽车之家车辆配置参数信息</a> <span class="text-muted">q56731523</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%B1%BD%E8%BD%A6/1.htm">汽车</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a> <div>年关将至,辛苦一年了,总得犒劳犒劳自己,有人喜欢出去大吃一顿,逛街买东西,也有人会选择买车给自己增添一个代步工具买一辆汽车,而且现在车辆活动力度很大,将会吸引更多人购买欲。那么,普通人怎么选择车辆呢?下面我将通过java爬虫写一个车辆配置参数信息抓取程序,并进行分析对比,让选择也能手机刷刷就能完事。这是一个使用Java编写的爬虫程序,用于抓取汽车之家的车型、车系、配置参数数据。在开始之前,需要了解</div> </li> <li><a href="/article/1743837158126403584.htm" title="【java爬虫】首页显示沪深300指数走势图以及前后端整合部署方法" target="_blank">【java爬虫】首页显示沪深300指数走势图以及前后端整合部署方法</a> <span class="text-muted">haohulala</span> <a class="tag" taget="_blank" href="/search/java%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB/1.htm">java网络爬虫</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">前端学习笔记</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>添加首页本文我们将在首页添加沪深300指数成立以来的整体走势数据展示,最后的效果是这样的单独贴一张沪深300整体走势图我感觉从总体上来看指数还是比较稳的,没有特别大的波动,当然,这只是相对而言哈哈。首先是前端页面更新沪深300成分股数据信息更新状态:{{update_status}}操作:重新更新信息importaxiosfrom"axios";import{ElMessage}from"elem</div> </li> <li><a href="/article/1743359099715731456.htm" title="Java爬虫系列二:使用HttpClient抓取页面HTML" target="_blank">Java爬虫系列二:使用HttpClient抓取页面HTML</a> <span class="text-muted">不會變承諾</span> <div>爬虫要想爬取需要的信息,首先第一步就要抓取到页面html内容,然后对html进行分析,获取想要的内容。上一篇随笔《Java爬虫系列一:写在开始前》中提到了HttpClient可以抓取页面内容。今天就来介绍下抓取html内容的工具:HttpClient。一、什么是HttpClient度娘说:HttpClient是ApacheJakartaCommon下的子项目,可以用来提供高效的、最新的、功能丰富的</div> </li> <li><a href="/article/1743349630445305856.htm" title="用Java编写图书网站信息采集程序教程" target="_blank">用Java编写图书网站信息采集程序教程</a> <span class="text-muted">q56731523</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a> <div>最近有个公司想要开发新产品,想要找到一些相关产品的功能以及工艺信息,之前有个负责人就通过传统的百度搜索来查找,但是效率太慢,然后请教我问我有什么办法收集这类产品信息以及配套的产品书籍以及信息,这不,饭都请我吃了,我能说不么?在开始编写Java爬虫程序之前,需要准备一些东西,包括Java开发环境,代理服务器,以及一个需要爬取的图书网站。假设我们已经有了这些工具,下面是用Java编写的爬虫程序,爬取图</div> </li> <li><a href="/article/1743225368782848000.htm" title="Java爬虫之Jsoup" target="_blank">Java爬虫之Jsoup</a> <span class="text-muted">sternschnapper</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a> <div>1.Jsoup相关概念Jsoup很多概念和js类似,可参照对比理解Document:文档对象。每份HTML页面都是一个文档对象,Document是jsoup体系中最顶层的结构。Element:元素对象。一个Document中可以着包含着多个Element对象,可以使用Element对象来遍历节点提取数据或者直接操作HTML。Elements:元素对象集合,类似于List。Node:节点对象。标签名</div> </li> <li><a href="/article/1743225241972260864.htm" title="Java爬虫获取省市区镇村5级行政区划" target="_blank">Java爬虫获取省市区镇村5级行政区划</a> <span class="text-muted">sternschnapper</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>公司有个项目需要五级行政区划,没有现成的数据,写了一段代码,从gj统计j获取的数据。记录一下。1.引入maven解析htmlorg.jsoupjsoup1.11.32.Java代码实现@GetMapping("/hh")publicvoidhh(){Divisiond=newDivision();finalStringurl="https://www.stats.gov.cn/sj/tjbz/tj</div> </li> <li><a href="/article/1741922725980553216.htm" title="【java爬虫】使用element-plus进行个股详细数据分页展示" target="_blank">【java爬虫】使用element-plus进行个股详细数据分页展示</a> <span class="text-muted">haohulala</span> <a class="tag" taget="_blank" href="/search/java%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB/1.htm">java网络爬虫</a><a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">金融数据分析</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">前端学习笔记</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/element-plus/1.htm">element-plus</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E9%A1%B5/1.htm">分页</a> <div>前言前面的文章我们讲述了获取详细个股数据的方法,并且使用echarts对个股的价格走势图进行了展示,本文将编写一个页面,对个股详细数据进行展示。别问涉及到了element-plus中分页的写法,对于这部分知识将会做重点讲解。首先看一下效果之前我一直认为前端分页很难写,不过今天写完这个页面之后我发现,有了element-plus这样的框架,前端真的变得非常简单。获取所有有数据的股票代码我们的页面主要</div> </li> <li><a href="/article/1741922471512129536.htm" title="【java爬虫】股票数据获取工具前后端代码" target="_blank">【java爬虫】股票数据获取工具前后端代码</a> <span class="text-muted">haohulala</span> <a class="tag" taget="_blank" href="/search/java%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB/1.htm">java网络爬虫</a><a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">金融数据分析</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">前端学习笔记</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/element-plus/1.htm">element-plus</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a> <div>前面我们有好多文章都是在介绍股票数据获取工具,这是一个前后端分离项目后端技术栈:springboot,sqlite,jdbcTemplate,okhttp前端技术栈:vue,element-plus,echarts,axios介绍的文章如下:【金融数据分析】计算沪深300指数行业权重分布并用饼图展示-CSDN博客【金融数据分析】获取沪深300成分股权重数据方法优化-CSDN博客【java爬虫】基于</div> </li> <li><a href="/article/1741357987559129088.htm" title="专为初学者设计:Nutch库Java下载器入门指南" target="_blank">专为初学者设计:Nutch库Java下载器入门指南</a> <span class="text-muted">亿牛云爬虫专家</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%90%86IP/1.htm">代理IP</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E4%BB%A3%E7%90%86/1.htm">爬虫代理</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/Nutch/1.htm">Nutch</a><a class="tag" taget="_blank" href="/search/%E4%B8%8B%E8%BD%BD%E5%99%A8/1.htm">下载器</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E4%BB%A3%E7%90%86/1.htm">爬虫代理</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%90%86IP/1.htm">代理IP</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a> <div>概述:Nutch是一款开源的Java爬虫框架,用于抓取、解析、提取和存储网页数据。基于Hadoop的分布式系统,Nutch支持大规模网络爬取,并提供各种插件,包括链接分析、语言检测和内容过滤等功能。本文旨在介绍如何使用Nutch库编写简单的Java下载器,即能从指定URL下载网页内容的程序。目标是帮助初学者了解Nutch库的基本用法,并展示如何通过代理IP技术和多线程技术提升下载效率。假设读者已安</div> </li> <li><a href="/article/1741250302977261568.htm" title="【java爬虫】获取个股详细数据并用echarts展示" target="_blank">【java爬虫】获取个股详细数据并用echarts展示</a> <span class="text-muted">haohulala</span> <a class="tag" taget="_blank" href="/search/java%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB/1.htm">java网络爬虫</a><a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">金融数据分析</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">前端学习笔记</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a> <div>前言前面一篇文章介绍了获取个股数据的方法,本文将会对获取的接口进行一些优化,并且添加查询数据的接口,并且基于后端返回数据编写一个前端页面对数据进行展示。具体的获取个股数据的接口可以看上一篇文章【java爬虫】基于springboot+jdbcTemplate+sqlite+OkHttp获取个股的详细数据-CSDN博客下面是操作演示,首先是爬虫获取股票数据接着是进行获取个股详细数据并且进行数据展示数</div> </li> <li><a href="/article/1739698572942655488.htm" title="java爬虫(jsoup)如何设置HTTP代理ip爬数据" target="_blank">java爬虫(jsoup)如何设置HTTP代理ip爬数据</a> <span class="text-muted">卑微阿文</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a> <div>目录前言什么是HTTP代理IP使用Jsoup设置HTTP代理IP的步骤1.导入Jsoup依赖2.创建HttpProxy类3.设置代理服务器4.使用Jsoup进行爬取结论前言在Java中使用Jsoup进行网络爬虫操作时,有时需要使用HTTP代理IP来爬取数据。本文将介绍如何使用Jsoup设置HTTP代理IP进行爬取,并提供相关代码示例。什么是HTTP代理IPHTTP代理IP是一种允许我们通过代理服务</div> </li> <li><a href="/article/14.htm" title="Spring4.1新特性——综述" target="_blank">Spring4.1新特性——综述</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring+4.1/1.htm">spring 4.1</a> <div>目录 Spring4.1新特性——综述 Spring4.1新特性——Spring核心部分及其他 Spring4.1新特性——Spring缓存框架增强 Spring4.1新特性——异步调用和事件机制的异常处理 Spring4.1新特性——数据库集成测试脚本初始化 Spring4.1新特性——Spring MVC增强 Spring4.1新特性——页面自动化测试框架Spring MVC T</div> </li> <li><a href="/article/141.htm" title="Schema与数据类型优化" target="_blank">Schema与数据类型优化</a> <span class="text-muted">annan211</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div> 目前商城的数据库设计真是一塌糊涂,表堆叠让人不忍直视,无脑的架构师,说了也不听。 在数据库设计之初,就应该仔细揣摩可能会有哪些查询,有没有更复杂的查询,而不是仅仅突出 很表面的业务需求,这样做会让你的数据库性能成倍提高,当然,丑陋的架构师是不会这样去考虑问题的。 选择优化的数据类型 1 更小的通常更好 更小的数据类型通常更快,因为他们占用更少的磁盘、内存和cpu缓存,</div> </li> <li><a href="/article/268.htm" title="第一节 HTML概要学习" target="_blank">第一节 HTML概要学习</a> <span class="text-muted">chenke</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>第一节 HTML概要学习 1. 什么是HTML HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,它规定了自己的语法规则,用来表示比“文本”更丰富的意义,比如图片,表格,链接等。浏览器(IE,FireFox等)软件知道HTML语言的语法,可以用来查看HTML文档。目前互联网上的绝大部分网页都是使用HTML编写的。 打开记事本 输入一下内</div> </li> <li><a href="/article/395.htm" title="MyEclipse里部分习惯的更改" target="_blank">MyEclipse里部分习惯的更改</a> <span class="text-muted">Array_06</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a> <div>继续补充中---------------------- 1.更改自己合适快捷键windows-->prefences-->java-->editor-->Content Assist-->      Activation triggers for java的右侧“.”就可以改变常用的快捷键 选中 Text </div> </li> <li><a href="/article/522.htm" title="近一个月的面试总结" target="_blank">近一个月的面试总结</a> <span class="text-muted">cugfy</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/46753275 前言       打算换个工作,近一个月面试了不少的公司,下面将一些面试经验和思考分享给大家。另外校招也快要开始了,为在校的学生提供一些经验供参考,希望都能找到满意的工作。 </div> </li> <li><a href="/article/649.htm" title="HTML5一个小迷宫游戏" target="_blank">HTML5一个小迷宫游戏</a> <span class="text-muted">357029540</span> <a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>     通过《HTML5游戏开发》摘抄了一个小迷宫游戏,感觉还不错,可以画画,写字,把摘抄的代码放上来分享下,喜欢的同学可以拿来玩玩! <html> <head> <title>创建运行迷宫</title> <script type="text/javascript"</div> </li> <li><a href="/article/776.htm" title="10步教你上传githib数据" target="_blank">10步教你上传githib数据</a> <span class="text-muted">张亚雄</span> <a class="tag" taget="_blank" href="/search/git/1.htm">git</a> <div>官方的教学还有其他博客里教的都是给懂的人说得,对已我们这样对我大菜鸟只能这么来锻炼,下面先不玩什么深奥的,先暂时用着10步干净利索。等玩顺溜了再用其他的方法。 操作过程(查看本目录下有哪些文件NO.1)ls (跳转到子目录NO.2)cd+空格+目录 (继续NO.3)ls (匹配到子目录NO.4)cd+ 目录首写字母+tab键+(首写字母“直到你所用文件根就不再按TAB键了”) (查看文件</div> </li> <li><a href="/article/903.htm" title="MongoDB常用操作命令大全" target="_blank">MongoDB常用操作命令大全</a> <span class="text-muted">adminjun</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E5%91%BD%E4%BB%A4/1.htm">操作命令</a> <div>成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。 一</div> </li> <li><a href="/article/1030.htm" title="bat调用jar包并传入多个参数" target="_blank">bat调用jar包并传入多个参数</a> <span class="text-muted">aijuans</span> <div>下面的主程序是通过eclipse写的: 1.在Main函数接收bat文件传递的参数(String[] args)  如:   String ip =args[0];          String user=args[1];       &nbs</div> </li> <li><a href="/article/1157.htm" title="Java中对类的主动引用和被动引用" target="_blank">Java中对类的主动引用和被动引用</a> <span class="text-muted">ayaoxinchao</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%B8%BB%E5%8A%A8%E5%BC%95%E7%94%A8/1.htm">主动引用</a><a class="tag" taget="_blank" href="/search/%E5%AF%B9%E7%B1%BB%E7%9A%84%E5%BC%95%E7%94%A8/1.htm">对类的引用</a><a class="tag" taget="_blank" href="/search/%E8%A2%AB%E5%8A%A8%E5%BC%95%E7%94%A8/1.htm">被动引用</a><a class="tag" taget="_blank" href="/search/%E7%B1%BB%E5%88%9D%E5%A7%8B%E5%8C%96/1.htm">类初始化</a> <div>  在Java代码中,有些类看上去初始化了,但其实没有。例如定义一定长度某一类型的数组,看上去数组中所有的元素已经被初始化,实际上一个都没有。对于类的初始化,虚拟机规范严格规定了只有对该类进行主动引用时,才会触发。而除此之外的所有引用方式称之为对类的被动引用,不会触发类的初始化。虚拟机规范严格地规定了有且仅有四种情况是对类的主动引用,即必须立即对类进行初始化。四种情况如下:1.遇到ne</div> </li> <li><a href="/article/1284.htm" title="导出数据库 提示 outfile disabled" target="_blank">导出数据库 提示 outfile disabled</a> <span class="text-muted">BigBird2012</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>在windows控制台下,登陆mysql,备份数据库:   mysql>mysqldump -u root -p test test > D:\test.sql 使用命令 mysqldump 格式如下: mysqldump -u root -p *** DBNAME > E:\\test.sql。 注意:执行该命令的时候不要进入mysql的控制台再使用,这样会报</div> </li> <li><a href="/article/1411.htm" title="Javascript 中的 && 和 ||" target="_blank">Javascript 中的 && 和 ||</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/%26%26/1.htm">&&</a><a class="tag" taget="_blank" href="/search/%7C%7C/1.htm">||</a> <div>        准备两个对象用于下面的讨论 var alice = { name: "alice", toString: function () { return this.name; } } var smith = { name: "smith", </div> </li> <li><a href="/article/1538.htm" title="[Zookeeper学习笔记之四]Zookeeper Client Library会话重建" target="_blank">[Zookeeper学习笔记之四]Zookeeper Client Library会话重建</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a> <div>为了说明问题,先来看个简单的示例代码:   package com.tom.zookeeper.book; import com.tom.Host; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.ZooKeeper; import org.apache.zookeeper.Wat</div> </li> <li><a href="/article/1665.htm" title="【Scala十一】Scala核心五:case模式匹配" target="_blank">【Scala十一】Scala核心五:case模式匹配</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>package spark.examples.scala.grammars.caseclasses object CaseClass_Test00 { def simpleMatch(arg: Any) = arg match { case v: Int => "This is an Int" case v: (Int, String)</div> </li> <li><a href="/article/1792.htm" title="运维的一些面试题" target="_blank">运维的一些面试题</a> <span class="text-muted">yuxianhua</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>1、Linux挂载Winodws共享文件夹   mount -t cifs //1.1.1.254/ok /var/tmp/share/ -o username=administrator,password=yourpass 或 mount -t cifs -o username=xxx,password=xxxx //1.1.1.1/a /win    </div> </li> <li><a href="/article/1919.htm" title="Java lang包-Boolean" target="_blank">Java lang包-Boolean</a> <span class="text-muted">BrokenDreams</span> <a class="tag" taget="_blank" href="/search/boolean/1.htm">boolean</a> <div>         Boolean类是Java中基本类型boolean的包装类。这个类比较简单,直接看源代码吧。 public final class Boolean implements java.io.Serializable, </div> </li> <li><a href="/article/2046.htm" title="读《研磨设计模式》-代码笔记-命令模式-Command" target="_blank">读《研磨设计模式》-代码笔记-命令模式-Command</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.Collection; import java.util.List; /** * GOF 在《设计模式》一书中阐述命令模式的意图:“将一个请求封装</div> </li> <li><a href="/article/2173.htm" title="matlab下GPU编程笔记" target="_blank">matlab下GPU编程笔记</a> <span class="text-muted">cherishLC</span> <a class="tag" taget="_blank" href="/search/matlab/1.htm">matlab</a> <div>不多说,直接上代码 gpuDevice % 查看系统中的gpu,,其中的DeviceSupported会给出matlab支持的GPU个数。 g=gpuDevice(1); %会清空 GPU 1中的所有数据,,将GPU1 设为当前GPU reset(g) %也可以清空GPU中数据。 a=1; a=gpuArray(a); %将a从CPU移到GPU中 onGP</div> </li> <li><a href="/article/2300.htm" title="SVN安装过程" target="_blank">SVN安装过程</a> <span class="text-muted">crabdave</span> <a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a> <div>SVN安装过程   subversion-1.6.12   ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --with-openssl=/</div> </li> <li><a href="/article/2427.htm" title="sql 行列转换" target="_blank">sql 行列转换</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E8%A1%8C%E5%88%97%E8%BD%AC%E6%8D%A2/1.htm">行列转换</a><a class="tag" taget="_blank" href="/search/%E8%A1%8C%E8%BD%AC%E5%88%97/1.htm">行转列</a><a class="tag" taget="_blank" href="/search/%E5%88%97%E8%BD%AC%E8%A1%8C/1.htm">列转行</a> <div>行转列的思想是通过case when 来实现 列转行的思想是通过union all 来实现 下面具体例子: 假设有张学生成绩表(tb)如下: Name Subject Result 张三 语文  74 张三 数学  83 张三 物理  93 李四 语文  74 李四 数学  84 李四 物理  94 */ /* 想变成 姓名   &</div> </li> <li><a href="/article/2554.htm" title="MySQL--主从配置" target="_blank">MySQL--主从配置</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div> linux下的mysql主从配置: 说明:由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低, Master的版本肯定不能高于Slave版本。(版本向下兼容) mysql1  : 192.168.100.1    //master mysq</div> </li> <li><a href="/article/2681.htm" title="关于yii 数据库添加新字段之后model类的修改" target="_blank">关于yii 数据库添加新字段之后model类的修改</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/Model/1.htm">Model</a> <div>rules: array('新字段','safe','on'=>'search') 1、array('新字段', 'safe')//这个如果是要用户输入的话,要加一下, 2、array('新字段', 'numerical'),//如果是数字的话 3、array('新字段', 'length', 'max'=>100),//如果是文本 1、2、3适当的最少要加一条,新字段才会被</div> </li> <li><a href="/article/2808.htm" title="sublime text3 中文乱码解决" target="_blank">sublime text3 中文乱码解决</a> <span class="text-muted">dyy_gusi</span> <a class="tag" taget="_blank" href="/search/Sublime+Text/1.htm">Sublime Text</a> <div>sublime text3中文乱码解决 原因:缺少转换为UTF-8的插件 目的:安装ConvertToUTF8插件包 第一步:安装能自动安装插件的插件,百度“Codecs33”,然后按照步骤可以得到以下一段代码: import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a30980927</div> </li> <li><a href="/article/2935.htm" title="概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM" target="_blank">概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM</a> <span class="text-muted">geeksun</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a> <div>CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。 FastCGI FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不</div> </li> <li><a href="/article/3062.htm" title="Git push 报错 "error: failed to push some refs to " 解决" target="_blank">Git push 报错 "error: failed to push some refs to " 解决</a> <span class="text-muted">hongtoushizi</span> <a class="tag" taget="_blank" href="/search/git/1.htm">git</a> <div>Git push 报错 "error: failed to push some refs to " . 此问题出现的原因是:由于远程仓库中代码版本与本地不一致冲突导致的。 由于我在第一次git pull --rebase 代码后,准备push的时候,有别人往线上又提交了代码。所以出现此问题。 解决方案: 1: git pull    2:</div> </li> <li><a href="/article/3189.htm" title="第四章 Lua模块开发" target="_blank">第四章 Lua模块开发</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a> <div>在实际开发中,不可能把所有代码写到一个大而全的lua文件中,需要进行分模块开发;而且模块化是高性能Lua应用的关键。使用require第一次导入模块后,所有Nginx 进程全局共享模块的数据和代码,每个Worker进程需要时会得到此模块的一个副本(Copy-On-Write),即模块可以认为是每Worker进程共享而不是每Nginx Server共享;另外注意之前我们使用init_by_lua中初</div> </li> <li><a href="/article/3316.htm" title="java.lang.reflect.Proxy" target="_blank">java.lang.reflect.Proxy</a> <span class="text-muted">liyonghui160com</span> <div>  1.简介   Proxy 提供用于创建动态代理类和实例的静态方法 (1)动态代理类的属性 代理类是公共的、最终的,而不是抽象的 未指定代理类的非限定名称。但是,以字符串 "$Proxy" 开头的类名空间应该为代理类保留 代理类扩展 java.lang.reflect.Proxy 代理类会按同一顺序准确地实现其创建时指定的接口</div> </li> <li><a href="/article/3443.htm" title="Java中getResourceAsStream的用法" target="_blank">Java中getResourceAsStream的用法</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1.Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。   2. Class.getClassLoader.get</div> </li> <li><a href="/article/3570.htm" title="spring 包官方下载地址(非maven)" target="_blank">spring 包官方下载地址(非maven)</a> <span class="text-muted">sinnk</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径:   http://repo.springsource.org/libs-release-local/org/springframework/spring/   s</div> </li> <li><a href="/article/3697.htm" title="Oracle学习笔记(7) 开发PLSQL子程序和包" target="_blank">Oracle学习笔记(7) 开发PLSQL子程序和包</a> <span class="text-muted">vipbooks</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a> <div>    哈哈,清明节放假回去了一下,真是太好了,回家的感觉真好啊!现在又开始出差之旅了,又好久没有来了,今天继续Oracle的学习!      这是第七章的学习笔记,学习完第六章的动态SQL之后,开始要学习子程序和包的使用了……,希望大家能多给俺一些支持啊!     编程时使用的工具是PLSQL</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>