文本分类(二):scrapy爬取网易新闻

文本分类的第一项应该就是获取文本了吧。
在木有弄懂scrapy的情况下写的,纯应用,或许后续会补上scrapy的原理。
首先说一下我的环境:ubuntu14.10
scrapy安装指南(肯定官网的最权威了):[传送门](http://scrapy-chs.readthedocs.org/zh_CN/0.24/intro/install.html#intro-install)

需要完成的任务:

  1. 创建一个Scrapy项目
  2. 定义提取的Item
  3. 编写爬取网站的Spider并提取Item
  4. 编写Item Pipeline来存储提取到的Item

正式开始

新建scrapy项目

在命令行下:

scrapy startproject tech163

执行完程序后,将会有如下结构:

tech163/
    scrapy.cfg
    tech163/
        __init__.py
        items.py
        pipelines.py
        settings.py
        spiders/
            __init__.py
            ...

定义item

打开items.py
文本分类(二):scrapy爬取网易新闻_第1张图片
news_thread: 定义获取新闻的进程
news_title:获取新闻标题
news_url:获取新闻地址
news_time:获取新闻发布时间
news_from:获取发布者
from_url:获取。。。
news_body:获取新闻正文

定义spider

在spider目录下新建news_spider.py。必须继承scrapy.Spider类,且需要定义以下三个属性:

  • name:用于区别Spider。该名字必须是唯一的。不可以为不同的Spider设置相同的名字。
  • start_url:包含了Spider在启动时进行爬取的URL列表。因此,第一个被获取的页面将是其中之一。后续的url则是从出事的url获取到的数据中提取。可以使用正则表达式定义和过滤需要进行跟进的链接。

  • parse():是spider的一个方法。被调用时,每个初始url完成下载后生成的response对象将会作为唯一的参数传递给该函数。该方法负责解析返回的数据、提取数据(生成item)以及生成需要进一步处理的url的response对象。

selectors选择器

scrapy使用了一种基于XPath和CSS表达式机制:Scrapy Selectors。
我们使用XPath来从页面的HTML源码中选择需要提取的数据。简单说一下XPath的用法。
  • /html/head/title:选择HTML文档中标签内的元素</li> <li><strong>/html/head/title/text()</strong>:选择上面提到的<title>元素的文字</li> <li><strong>//td</strong>:选择所有的<td>元素</li> <li><strong>//div[@class=”mine”]</strong>:选择所有具有<strong>class=“mine”</strong>元素(2015/12/4/21:37)</li> </ul> <p>以一篇网易的科技类的新闻进行说明:新闻网址</p> <p><a href="http://img.e-com-net.com/image/info8/c87144256b0d415f88557ab970f44e09.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/c87144256b0d415f88557ab970f44e09.jpg" alt="文本分类(二):scrapy爬取网易新闻_第2张图片" title="" width="554" height="192" style="border:1px solid black;"></a> <br> 可以看到title是在head中的title中,因此使用XPath的形式为:/html/head/title/text() <br> 其余的提取内容类似,需要查看网页的源代码。附上源代码(只是爬取科技类的新闻,其余的只要修改网址即可)</p> <pre class="prettyprint"><code class=" hljs python"> <span class="hljs-comment">#encoding: utf-8</span> <span class="hljs-keyword">import</span> scrapy <span class="hljs-keyword">import</span> re <span class="hljs-keyword">from</span> scrapy.selector <span class="hljs-keyword">import</span> Selector <span class="hljs-keyword">from</span> tech163.items <span class="hljs-keyword">import</span> Tech163Item <span class="hljs-keyword">from</span> scrapy.linkextractors <span class="hljs-keyword">import</span> LinkExtractor <span class="hljs-keyword">from</span> scrapy.spiders <span class="hljs-keyword">import</span> CrawlSpider,Rule <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ExampleSpider</span><span class="hljs-params">(CrawlSpider)</span>:</span> name = <span class="hljs-string">"news"</span> allowed_domains = [<span class="hljs-string">"tech.163.com"</span>] <span class="hljs-comment">#需要对应网易新闻的类别</span> start_urls = [<span class="hljs-string">'http://tech.163.com/'</span>] rules=( Rule(LinkExtractor(allow=<span class="hljs-string">r"/14/08\d+/\d+/*"</span>), <span class="hljs-comment">#这里需根据具体年份考虑 /14/是指年份 /08\d+/ 是指月份 这个可参考一个网易新闻的地址:http://tech.163.com/16/1119/09/C67P02V400097U81.html </span> callback=<span class="hljs-string">"parse_news"</span>,follow=<span class="hljs-keyword">True</span>), ) <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">printcn</span><span class="hljs-params">(suni)</span>:</span> <span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> uni: <span class="hljs-keyword">print</span> uni.encode(<span class="hljs-string">'utf-8'</span>) <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">parse_news</span><span class="hljs-params">(self,response)</span>:</span> item = Tech163Item() item[<span class="hljs-string">'news_thread'</span>]=response.url.strip().split(<span class="hljs-string">'/'</span>)[-<span class="hljs-number">1</span>][:-<span class="hljs-number">5</span>] <span class="hljs-comment"># self.get_thread(response,item)</span> self.get_title(response,item) self.get_source(response,item) self.get_url(response,item) self.get_news_from(response,item) self.get_from_url(response,item) self.get_text(response,item) <span class="hljs-comment">#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!remenber to Retrun Item after parse</span> <span class="hljs-keyword">return</span> item <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_title</span><span class="hljs-params">(self,response,item)</span>:</span> title=response.xpath(<span class="hljs-string">"/html/head/title/text()"</span>).extract() <span class="hljs-keyword">if</span> title: <span class="hljs-comment"># print 'title:'+title[0][:-5].encode('utf-8')</span> item[<span class="hljs-string">'news_title'</span>]=title[<span class="hljs-number">0</span>][:-<span class="hljs-number">5</span>] <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_source</span><span class="hljs-params">(self,response,item)</span>:</span> source=response.xpath(<span class="hljs-string">"//div[@class='left']/text()"</span>).extract() <span class="hljs-keyword">if</span> source: <span class="hljs-comment"># print 'source'+source[0][:-5].encode('utf-8')</span> item[<span class="hljs-string">'news_time'</span>]=source[<span class="hljs-number">0</span>][:-<span class="hljs-number">5</span>] <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_news_from</span><span class="hljs-params">(self,response,item)</span>:</span> news_from=response.xpath(<span class="hljs-string">"//div[@class='left']/a/text()"</span>).extract() <span class="hljs-keyword">if</span> news_from: <span class="hljs-comment"># print 'from'+news_from[0].encode('utf-8') </span> item[<span class="hljs-string">'news_from'</span>]=news_from[<span class="hljs-number">0</span>] <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_from_url</span><span class="hljs-params">(self,response,item)</span>:</span> from_url=response.xpath(<span class="hljs-string">"//div[@class='left']/a/@href"</span>).extract() <span class="hljs-keyword">if</span> from_url: <span class="hljs-comment"># print 'url'+from_url[0].encode('utf-8') </span> item[<span class="hljs-string">'from_url'</span>]=from_url[<span class="hljs-number">0</span>] <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_text</span><span class="hljs-params">(self,response,item)</span>:</span> news_body=response.xpath(<span class="hljs-string">"//div[@id='endText']/p/text()"</span>).extract() <span class="hljs-keyword">if</span> news_body: <span class="hljs-comment"># for entry in news_body:</span> <span class="hljs-comment"># print entry.encode('utf-8')</span> item[<span class="hljs-string">'news_body'</span>]=news_body <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_url</span><span class="hljs-params">(self,response,item)</span>:</span> news_url=response.url <span class="hljs-keyword">if</span> news_url: <span class="hljs-comment">#print news_url </span> item[<span class="hljs-string">'news_url'</span>]=news_url</code></pre> <h2 id="定义item-pipeline">定义Item Pipeline</h2> <p>在pipelin.py文件中编写自己的pipeline,简单点说就是定义爬虫爬取的内容存放的地方。</p> <pre class="prettyprint"><code class=" hljs python"><span class="hljs-keyword">from</span> scrapy <span class="hljs-keyword">import</span> signals <span class="hljs-keyword">from</span> scrapy.exporters <span class="hljs-keyword">import</span> XmlItemExporter <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Tech163Pipeline</span><span class="hljs-params">(object)</span>:</span> <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self)</span>:</span> <span class="hljs-keyword">pass</span> <span class="hljs-decorator">@classmethod</span> <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">from_crawler</span><span class="hljs-params">(cls,crawler)</span>:</span> pipeline = cls() crawler.signals.connect(pipeline.spider_opened,signals.spider_opened) crawler.signals.connect(pipeline.spider_closed,signals.spider_closed) <span class="hljs-keyword">return</span> pipeline <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">spider_opened</span><span class="hljs-params">(self,spider)</span>:</span> self.file = open(<span class="hljs-string">"test.xml"</span>,<span class="hljs-string">"wb"</span>) self.exporter = XmlItemExporter(self.file) self.exporter.start_exporting() <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">spider_closed</span><span class="hljs-params">(self,spider)</span>:</span> self.exporter.finish_exporting() self.file.close() <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process_item</span><span class="hljs-params">(self, item, spider)</span>:</span> self.exporter.export_item(item) <span class="hljs-keyword">return</span> item</code></pre> <p>在这里采用xml形式进行数据的存放,数据也可以存放到数据库中。</p> <h2 id="最后一步了进行配置">最后一步了,进行配置</h2> <p>万里长城,终于只差一步。 <br> <a href="http://img.e-com-net.com/image/info8/aab7cfcfdb0a4e5abb58d8bc03e0d534.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/aab7cfcfdb0a4e5abb58d8bc03e0d534.jpg" alt="文本分类(二):scrapy爬取网易新闻_第3张图片" title="" width="650" height="402" style="border:1px solid black;"></a></p> <p>在这里等我研究了在进行解释。 <br> 最下边的USER_AGENT是使用浏览器代理,防止被禁的。(2015/12/5 11:52)</p> <p>忘了写执行的命令了: <br> 退到与工程同一目录下:</p> <pre class="prettyprint"><code class=" hljs ">scrapy crawl news</code></pre> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1275621273195528192"></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">你可能感兴趣的:(ML,python,数据挖掘,应用)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1903458696281780224.htm" title=".gitlab-ci.yml 配置文件详解" target="_blank">.gitlab-ci.yml 配置文件详解</a> <span class="text-muted">程序媛夏天</span> <a class="tag" taget="_blank" href="/search/Git/1.htm">Git</a><a class="tag" taget="_blank" href="/search/gitlab/1.htm">gitlab</a><a class="tag" taget="_blank" href="/search/ci%2Fcd/1.htm">ci/cd</a><a class="tag" taget="_blank" href="/search/.gitlab-ci.yml/1.htm">.gitlab-ci.yml</a> <div>个人主页:不爱吃糖的程序媛‍♂️作者简介:前端领域新星创作者、CSDN内容合伙人,专注于前端各领域技术,成长的路上共同学习共同进步,一起加油呀!✨系列专栏:前端面试宝典、JavaScript进阶、vue实战资料领取:前端进阶资料以及文中源码可以在公众号“不爱吃糖的程序媛”领取git工具文档说明:https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.ht</div> </li> <li><a href="/article/1903457437302714368.htm" title="git runner 配置_gitlab-ci配置详解(一)" target="_blank">git runner 配置_gitlab-ci配置详解(一)</a> <span class="text-muted">夏天的sunnyrain</span> <a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/runner/1.htm">runner</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE/1.htm">配置</a> <div>近期因为折腾gitlab-ci,专门去翻了很多文档,想想貌似自己挺傻的。按照官网教程本来biubiubiu就弄好了,非自己折腾了好几天,还没啥积累,真是作。想想唯一能积累的就是ci的配置详解了。该文基于最新版GitLabCommunityEdition10.1.1和GitLabRunner9.5.1-1使用.gitlab-ci.yml配置你的项目这篇文档描述了.gitlab-ci.yml的用法,本</div> </li> <li><a href="/article/1903456553768382464.htm" title="python八股(—) --FBV,CBV" target="_blank">python八股(—) --FBV,CBV</a> <span class="text-muted">suohanfjiusbis</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>引言FBV是面向函数的视图。defFBV(request):ifrequest.method=='GET':returnHttpResponse("GET")elifrequest.method=='POST':returnHttpResponse("POST")CBV是面向类的视图。classCBV(View):defget(self,request):returnHttpResponse("G</div> </li> <li><a href="/article/1903456175660265472.htm" title="新书速览|云原生Kubernetes自动化运维实践" target="_blank">新书速览|云原生Kubernetes自动化运维实践</a> <span class="text-muted">全栈开发圈</span> <a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a> <div>《云原生Kubernetes自动化运维实践》本书内容:《云原生Kubernetes自动化运维实践》以一名大型企业集群运维工程师的实战经验为基础,全面系统地阐述Kubernetes(K8s)在自动化运维领域的技术应用。《云原生Kubernetes自动化运维实践》共16章,内容由浅入深,逐步揭示K8s的原理及实际操作技巧。第1章引领读者踏入Kubernetes的世界,详细介绍其起源、核心组件的概念以及</div> </li> <li><a href="/article/1903455041667264512.htm" title="初始OpenCV" target="_blank">初始OpenCV</a> <span class="text-muted">指尖下的技术</span> <a class="tag" taget="_blank" href="/search/OpenCV/1.htm">OpenCV</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/1.htm">计算机视觉</a> <div>OpenCV是一个功能强大、应用广泛的计算机视觉库,它为开发人员提供了丰富的工具和算法,可以帮助他们快速构建各种视觉应用。随着计算机视觉技术的不断发展,OpenCV也将会继续发挥重要的作用。OpenCV提供了大量的计算机视觉算法和图像处理工具,广泛应用于图像和视频的处理、分析以及机器学习领域。所以学习人计算机视觉或者图像处理方面的知识,OpenCV是一个要重点学习的工具库。首先介绍一下OpenCV</div> </li> <li><a href="/article/1903453907741372416.htm" title="【纯职业小组——思维】" target="_blank">【纯职业小组——思维】</a> <span class="text-muted">Kent_J_Truman</span> <a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>题目思路第十五届蓝桥杯省赛PythonB组H题【纯职业小组】题解(AC)_蓝桥杯纯职业小组-CSDN博客代码#includeusingnamespacestd;usingll=longlong;intmain(){ios::sync_with_stdio(0);cin.tie(0);intt;cin>>t;while(t--){intn;llk;cin>>n>>k;unordered_maph;f</div> </li> <li><a href="/article/1903453278121816064.htm" title="第十五届蓝桥杯省赛PythonB组B题【数字串个数】题解(AC)" target="_blank">第十五届蓝桥杯省赛PythonB组B题【数字串个数】题解(AC)</a> <span class="text-muted">信奥郭老师</span> <a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a> <div>设n=10000n=10000n=10000。法一枚举333的个数以及777的个数,假设333的个数为iii,777的个数为jjj,那么非3,73,73,7的个数即为n−i−jn-i-jn−i−j。在长度为nnn的字符串中选取iii的方案数为CniC^i_nCni,在剩余n−in-in−i个位置选取jjj个的方案数为Cn−ijC^j_{n-i}Cn−ij,剩余位置个数为n−i−jn-i-jn−i−</div> </li> <li><a href="/article/1903452396604944384.htm" title="WRF移动嵌套结合伏羲模型与CFD(PALM)高精度多尺度降尺度分析研究" target="_blank">WRF移动嵌套结合伏羲模型与CFD(PALM)高精度多尺度降尺度分析研究</a> <span class="text-muted">Hardess-god</span> <a class="tag" taget="_blank" href="/search/WRF/1.htm">WRF</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>随着大气科学与数值模拟技术的发展,高精度多尺度气象模拟日益成为科研与应用的热点问题。本文将详细介绍如何使用WRF移动嵌套技术结合伏羲(Fuxi)模型,并通过CFD模型PALM实现精细化降尺度,以满足城市或区域局地精细化气象预报的需求。1.技术路线概述WRF移动嵌套(MovingNesting):动态调整高分辨率嵌套网格位置,追踪天气系统(如台风、强对流系统)以提高局地预报精度。伏羲(Fuxi)模型</div> </li> <li><a href="/article/1903452269882437632.htm" title="ModuleNotFoundError: No module named ‘h5py‘" target="_blank">ModuleNotFoundError: No module named ‘h5py‘</a> <span class="text-muted">Hardess-god</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>到ModuleNotFoundError:Nomodulenamed'h5py'错误表明Python环境中没有安装h5py模块。h5py是一个用于处理HDF5二进制数据格式的Python接口,广泛用于大规模存储和操纵数据。解决方案:安装h5py要解决这个问题,你需要在你的Python环境中安装h5py。以下是如何在不同环境中安装h5py的步骤:使用pip安装如果你使用的是pip包管理器,可以通过以</div> </li> <li><a href="/article/1903452270368976896.htm" title="深入探讨盘古大模型的高精度多尺度能力" target="_blank">深入探讨盘古大模型的高精度多尺度能力</a> <span class="text-muted">Hardess-god</span> <a class="tag" taget="_blank" href="/search/WRF/1.htm">WRF</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>随着人工智能技术的快速发展,大模型的研究逐渐进入新的阶段。其中,盘古大模型以其卓越的高精度和多尺度处理能力成为研究热点。本文将详细分析盘古模型在高精度多尺度问题上的技术特征、优势和应用潜力,并探讨其深入研究的方向。一、盘古模型概述盘古模型是华为推出的中文预训练大模型系列,拥有数十亿甚至千亿级的参数规模。它以Transformer架构为基础,通过海量文本数据进行训练,表现出优异的自然语言理解和生成能</div> </li> <li><a href="/article/1903450694774484992.htm" title="纯「牛马」的逻辑玩儿不转了!" target="_blank">纯「牛马」的逻辑玩儿不转了!</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E6%B1%82%E8%81%8C%E9%9D%A2%E8%AF%95%E8%81%8C%E5%9C%BA%E5%88%9B%E4%B8%9A%E5%88%9B%E4%B8%9A%E8%80%85/1.htm">求职面试职场创业创业者</a> <div>又在微信群里被「声讨」了,距离上次这等待遇也过去一段时间了,让人有点「怀念」呢~(别瞎想,我不是字母!)我想此刻趁这心情还未消散殆尽,把近期一直想说但没说的话先说一遍,也暂时不管它是否严谨了,看完想吐槽就尽管来吧!麻木的纯「牛马」们在2022年11月末,ChatGPT的横空出世拉开了AI时代的帷幕,迄今为止两年多过去了,相关基础设施和上层应用已经涌现并迭代了很多版本。在这期间,很多人都至少听说过几</div> </li> <li><a href="/article/1903450503820406784.htm" title="CSP-J备考冲刺必刷题(C++) | AcWing 1253 家谱" target="_blank">CSP-J备考冲刺必刷题(C++) | AcWing 1253 家谱</a> <span class="text-muted">热爱编程的通信人</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。欢迎大家订阅我的专栏:算法题解:C++与Python实现!附上汇总贴:算法竞赛备考冲刺必刷题(C++)|汇总【题目来源】Acwing:1253.家谱-AcWing题库</div> </li> <li><a href="/article/1903448110609264640.htm" title="AI巨浪中的安全之舵:天空卫士助力人工智能落地远航" target="_blank">AI巨浪中的安全之舵:天空卫士助力人工智能落地远航</a> <span class="text-muted">天空卫士</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%AE%89%E5%85%A8/1.htm">数据安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>"AI时代的安全战场,不在云端在本地;数据治理的胜负手,不在防御在认知。"近期,众多企业纷纷接入DeepSeek大模型,迅速推动了大型模型应用的广泛铺开。无论是在制造业、金融业,还是在医疗、教育等领域,DeepSeek大模型的应用都如火如荼,遍地开花,展现出了其广泛的应用前景和巨大的商业价值。顺势而来的是DeepSeek一体机以"低成本、高算力、私有化部署"的优势席卷企业市场。因为DeepSeek</div> </li> <li><a href="/article/1903446848090206208.htm" title="如何使用YOLOv8在AI-TOD数据集上进行遥感目标检测,从安装依赖项、准备数据集、配置YOLOv8、训练和评估模型以及构建GUI应用程序展示检测" target="_blank">如何使用YOLOv8在AI-TOD数据集上进行遥感目标检测,从安装依赖项、准备数据集、配置YOLOv8、训练和评估模型以及构建GUI应用程序展示检测</a> <span class="text-muted">计算机C9硕士_算法工程师</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/YOLO/1.htm">YOLO</a><a class="tag" taget="_blank" href="/search/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B/1.htm">目标检测</a><a class="tag" taget="_blank" href="/search/%E9%81%A5%E6%84%9F/1.htm">遥感</a> <div>如何使用YOLOv8在AI-TOD数据集上进行遥感目标检测,从安装依赖项、准备数据集、配置YOLOv8、训练和评估模型以及构建GUI应用程序展示检测文章目录1.安装依赖2.数据准备3.配置YOLOv83.1加载预训练模型或自定义模型4.训练模型5.评估模型6.构建GUI应用程序(可选)以下文字及代码仅供参考。遥感目标检测,AI-TOD数据集aitod,训练集11214张,测试集集14018,验证集</div> </li> <li><a href="/article/1903446470040809472.htm" title="栈和队列基础" target="_blank">栈和队列基础</a> <span class="text-muted">Luther coder</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>目录一.队列简述二.栈三.例题一.队列简述队列多用于辅助,很少有单独的题目。例如图的BFS,需要队列辅助实现。常见运用:单调队列:概念和单调栈类似。应用很少,多用于对一些算法的优化(动态规划等),不再赘述。优先队列:普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出的特征。基于堆(</div> </li> <li><a href="/article/1903445713493225472.htm" title="蓝桥杯2024年第十五届省赛真题-魔法巡游(Python)" target="_blank">蓝桥杯2024年第十五届省赛真题-魔法巡游(Python)</a> <span class="text-muted">罄竹_</span> <a class="tag" taget="_blank" href="/search/python%E5%88%B7%E9%A2%98/1.htm">python刷题</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>前言本文参考了FJ_EYoungOneC的文章思路,并且修改了该文章的某些理解上的偏差。一、题目题目来源:dotcpp题目描述在蓝桥王国中,两位魔法使者,小蓝与小桥,肩负着维护时空秩序的使命。他们每人分别持有N个符文石,这些石头被赋予了强大的力量,每一块上都刻有一个介于1到109之间的数字符号。小蓝的符文石集合标记为s1,s2,...,sN,小桥的则为t1,t2,...,tN。两位魔法使者的任务是</div> </li> <li><a href="/article/1903445335372525568.htm" title="设计模式之桥接模式" target="_blank">设计模式之桥接模式</a> <span class="text-muted">周努力.</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E6%A1%A5%E6%8E%A5%E6%A8%A1%E5%BC%8F/1.htm">桥接模式</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>目录1.概念2.代码实现3.应用场景桥接模式(BridgePattern)也是我们结构型设计模式的一种,桥接模式整体来说对于开发者需要深刻理解好抽象类这个概念,而且比较考验在开发前就要设计好桥接点来进行开发,所以整体的理解难度我认为是比较高,接下来我将从概念和一个示例来演示该模式。1.概念桥接模式就是将抽象与实现解藕,使两者都可以独立变化。在现实生活中,某些类具有两个或多个维度的变化,如图形既可按</div> </li> <li><a href="/article/1903444579806408704.htm" title="机器学习结合伏羲模型高精度多尺度气象分析与降尺度实现" target="_blank">机器学习结合伏羲模型高精度多尺度气象分析与降尺度实现</a> <span class="text-muted">Hardess-god</span> <a class="tag" taget="_blank" href="/search/WRF/1.htm">WRF</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>随着人工智能的发展,机器学习技术在气象预报领域展现出巨大潜力。本文详细探讨如何结合机器学习(ML)和伏羲模型进行高精度多尺度气象模拟分析,并提供详细的实现步骤和相关代码。1.研究目标与技术路线目标:结合机器学习模型与伏羲气象模式,实现区域和局地高精度降尺度。技术路线:伏羲模型提供大尺度气象数据和预报使用机器学习模型(如CNN、LSTM、XGBoost)进行降尺度2.数据准备与处理2.1气象数据获取</div> </li> <li><a href="/article/1903443194968862720.htm" title="想使用dify实现docx文档的自动生成?试了一圈,感觉还是根据python-docx更靠谱" target="_blank">想使用dify实现docx文档的自动生成?试了一圈,感觉还是根据python-docx更靠谱</a> <span class="text-muted">几道之旅</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E4%BD%93%E5%8F%8A%E6%95%B0%E5%AD%97%E5%91%98%E5%B7%A5/1.htm">智能体及数字员工</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>前言:文档自动生成的需求痛点在软件开发过程中,需求文档、设计文档等材料的编写是每个开发者都绕不开的工作。最近笔者接到一个需要批量生成标准化需求文档的任务,尝试了目前热门的低代码工具Dify后,发现对于稍微复杂格式的文档生成需求(例如文本居中这么简单的需求),最终还是回归到基于python-docx库的解决方案。本文将分享两种技术路线的对比实践。一、Dify的踩坑经历我尝试了markdown转doc</div> </li> <li><a href="/article/1903441432102891520.htm" title="渗透测试-越权测试、sql注入" target="_blank">渗透测试-越权测试、sql注入</a> <span class="text-muted">夜晚打字声</span> <a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>越权访问简介(BrokenAccessControl,简称BAC):web应用程序中常见漏洞,存在范围广、危害大,被OWASP列为web应用十大安全隐患第二名。该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定越权</div> </li> <li><a href="/article/1903440548849577984.htm" title="K8S之POD调度" target="_blank">K8S之POD调度</a> <span class="text-muted">〰振振 ༽</span> <a class="tag" taget="_blank" href="/search/K8S/1.htm">K8S</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>K8S-Pod调度1、Deployment/RC:全自动调度简述Deployment或RC的主要功能就是自动部署一个容器应用的多份副本,及持续监控副本的数量并维持该值。创建Deploymentkubectlcreate-fnginx-deployment.yaml#nginx-deployment.yamlapiVersion:apps/v1kind:Deploymentmetadata:name</div> </li> <li><a href="/article/1903438786012966912.htm" title="2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷10(公有云)" target="_blank">2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷10(公有云)</a> <span class="text-muted">忘川_ydy</span> <a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/openstack/1.htm">openstack</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/ansible/1.htm">ansible</a><a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a> <div>#需要资源(软件包及镜像)或有问题的,可私聊博主!!!#需要资源(软件包及镜像)或有问题的,可私聊博主!!!#需要资源(软件包及镜像)或有问题的,可私聊博主!!!模块三公有云(40分)企业选择国内公有云提供商,选择云主机、云网络、云硬盘、云防火墙、负载均衡等服务,可创建Web服务,共享文件存储服务,数据库服务,数据库集群等服务。搭建基于云原生的DevOps相关服务,构建云、边、端一体化的边缘计算系</div> </li> <li><a href="/article/1903437904034721792.htm" title="Springboot使用itext及documents4j操作pdf(word转pdf、pdf加水印(文字或图片,可指定位置)、pdf加密(打开密码,编辑密码))" target="_blank">Springboot使用itext及documents4j操作pdf(word转pdf、pdf加水印(文字或图片,可指定位置)、pdf加密(打开密码,编辑密码))</a> <span class="text-muted">爱编程的小飞哥</span> <a class="tag" taget="_blank" href="/search/SpringBoot/1.htm">SpringBoot</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/itext/1.htm">itext</a> <div>pom.xml引入com.documents4jdocuments4j-local1.0.3com.documents4jdocuments4j-transformer-msoffice-word1.0.3com.itextpdfitextpdf5.5.11com.itextpdfitext-asian5.2.0创建PDF操作工具类PdfUtilspackagecom.ruoyi.common.u</div> </li> <li><a href="/article/1903437520369152000.htm" title="python中列表排序" target="_blank">python中列表排序</a> <span class="text-muted">hedgehog"</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a> <div>Python中列表的排序方法1.sort()方法2.sorted()方法========================================1.sort()函数,无返回值主要参数:(1)key:用来进行比较的元素,指定可迭代对象的一个元素作为参数来进行排序。(2)reverse:排序规则。reverse=True降序排序reverse=False升序排序(默认)示例1:list1=[5</div> </li> <li><a href="/article/1903437141896130560.htm" title="python 列表排序" target="_blank">python 列表排序</a> <span class="text-muted">rainynights</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a> <div>在我们实际使用中,对于列表的操作是十分常见的。对于列表的数据,在很多特殊的情况下我们需要对列表内的数据进行排列以达到我们特定的显示需求。今天,我们一起看一下python中关于列表排序的一些知识。有些时候我们希望对列表进行排序后,列表可以保存我们排序后的结果,但是很多情况下我们只是希望通过列表的排序,临时的显示排序结果而已。所以对于列表的排序可以分为永久性的排序和临时性的排序。sort()sort(</div> </li> <li><a href="/article/1903436385403072512.htm" title="使用Python和LangChain构建检索增强生成(RAG)应用的详细指南" target="_blank">使用Python和LangChain构建检索增强生成(RAG)应用的详细指南</a> <span class="text-muted">m0_57781768</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a> <div>使用Python和LangChain构建检索增强生成(RAG)应用的详细指南引言在人工智能和自然语言处理领域,利用大语言模型(LLM)构建复杂的问答(Q&A)系统是一个重要应用。检索增强生成(RetrievalAugmentedGeneration,RAG)是一种技术,通过将模型知识与额外数据结合来增强LLM的能力,使其能够回答关于特定源信息的问题。这些应用不仅限于公开数据,还可以处理私有数据和模</div> </li> <li><a href="/article/1903435000032849920.htm" title="华为OD机试 - 相对开音节 - 正则表达式(Python/JS/C/C++ 2024 E卷 100分)" target="_blank">华为OD机试 - 相对开音节 - 正则表达式(Python/JS/C/C++ 2024 E卷 100分)</a> <span class="text-muted">哪 吒</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+</div> </li> <li><a href="/article/1903434873796882432.htm" title="华为OD机试 - 数列描述 - 动态规划(Python/JS/C/C++ 2024 B卷 100分)" target="_blank">华为OD机试 - 数列描述 - 动态规划(Python/JS/C/C++ 2024 B卷 100分)</a> <span class="text-muted">哪 吒</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/1.htm">动态规划</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述有一个数列a[N](N=60),从a[0]开始,每一项都是一个数</div> </li> <li><a href="/article/1903434747510583296.htm" title="华为OD机试 - 输出单向链表中倒数第k个结点 - 双指针(Python/JS/C/C++ 2024 B卷 100分)" target="_blank">华为OD机试 - 输出单向链表中倒数第k个结点 - 双指针(Python/JS/C/C++ 2024 B卷 100分)</a> <span class="text-muted">哪 吒</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结</div> </li> <li><a href="/article/1903434369540878336.htm" title="华为OD机试 - 图片整理(Python/JS/C/C++ 2024 B卷 100分)" target="_blank">华为OD机试 - 图片整理(Python/JS/C/C++ 2024 B卷 100分)</a> <span class="text-muted">哪 吒</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要</div> </li> <li><a href="/article/40.htm" title="java线程Thread和Runnable区别和联系" target="_blank">java线程Thread和Runnable区别和联系</a> <span class="text-muted">zx_code</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/Runnable/1.htm">Runnable</a> <div>我们都晓得java实现线程2种方式,一个是继承Thread,另一个是实现Runnable。 模拟窗口买票,第一例子继承thread,代码如下 package thread; public class ThreadTest { public static void main(String[] args) { Thread1 t1 = new Thread1(</div> </li> <li><a href="/article/167.htm" title="【转】JSON与XML的区别比较" target="_blank">【转】JSON与XML的区别比较</a> <span class="text-muted">丁_新</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。 XML是标</div> </li> <li><a href="/article/294.htm" title="c++ 实现五种基础的排序算法" target="_blank">c++ 实现五种基础的排序算法</a> <span class="text-muted">CrazyMizzz</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>#include<iostream> using namespace std; //辅助函数,交换两数之值 template<class T> void mySwap(T &x, T &y){ T temp = x; x = y; y = temp; } const int size = 10; //一、用直接插入排</div> </li> <li><a href="/article/421.htm" title="我的软件" target="_blank">我的软件</a> <span class="text-muted">麦田的设计者</span> <a class="tag" taget="_blank" href="/search/%E6%88%91%E7%9A%84%E8%BD%AF%E4%BB%B6/1.htm">我的软件</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E4%B9%90%E7%B1%BB/1.htm">音乐类</a><a class="tag" taget="_blank" href="/search/%E5%A8%B1%E4%B9%90/1.htm">娱乐</a><a class="tag" taget="_blank" href="/search/%E6%94%BE%E6%9D%BE/1.htm">放松</a> <div>     这是我写的一款app软件,耗时三个月,是一个根据央视节目开门大吉改变的,提供音调,猜歌曲名。1、手机拥有者在android手机市场下载本APP,同意权限,安装到手机上。2、游客初次进入时会有引导页面提醒用户注册。(同时软件自动播放背景音乐)。3、用户登录到主页后,会有五个模块。a、点击不胫而走,用户得到开门大吉首页部分新闻,点击进入有新闻详情。b、</div> </li> <li><a href="/article/548.htm" title="linux awk命令详解" target="_blank">linux awk命令详解</a> <span class="text-muted">被触发</span> <a class="tag" taget="_blank" href="/search/linux+awk/1.htm">linux awk</a> <div>awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file [-F|-f|-v]大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=val</div> </li> <li><a href="/article/675.htm" title="各种语言比较" target="_blank">各种语言比较</a> <span class="text-muted">_wy_</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/1.htm">编程语言</a> <div>                    Java Ruby PHP 擅长领域                  </div> </li> <li><a href="/article/802.htm" title="oracle 中数据类型为clob的编辑" target="_blank">oracle 中数据类型为clob的编辑</a> <span class="text-muted">知了ing</span> <a class="tag" taget="_blank" href="/search/oracle+clob/1.htm">oracle clob</a> <div>public void updateKpiStatus(String kpiStatus,String taskId){ Connection dbc=null; Statement stmt=null; PreparedStatement ps=null; try { dbc = new DBConn().getNewConnection(); //stmt = db</div> </li> <li><a href="/article/929.htm" title="分布式服务框架 Zookeeper -- 管理分布式环境中的数据" target="_blank">分布式服务框架 Zookeeper -- 管理分布式环境中的数据</a> <span class="text-muted">矮蛋蛋</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a> <div>原文地址: http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ 安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两</div> </li> <li><a href="/article/1056.htm" title="tomcat数据源" target="_blank">tomcat数据源</a> <span class="text-muted">alafqq</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a> <div>数据库 JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。 没有使用JNDI时我用要这样连接数据库: 03.  Class.forName("com.mysql.jdbc.Driver");  04.  conn</div> </li> <li><a href="/article/1183.htm" title="遍历的方法" target="_blank">遍历的方法</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E9%81%8D%E5%8E%86/1.htm">遍历</a> <div>                                                      遍历 在java的泛</div> </li> <li><a href="/article/1310.htm" title="linux查看硬件信息的命令" target="_blank">linux查看硬件信息的命令</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>linux查看硬件信息的命令 一.查看CPU: cat /proc/cpuinfo   二.查看内存: free   三.查看硬盘: df   linux下查看硬件信息 1、lspci 列出所有PCI 设备; lspci - list all PCI devices:列出机器中的PCI设备(声卡、显卡、Modem、网卡、USB、主板集成设备也能</div> </li> <li><a href="/article/1437.htm" title="java常见的ClassNotFoundException" target="_blank">java常见的ClassNotFoundException</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1.java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory   添加包common-logging.jar2.java.lang.ClassNotFoundException: javax.transaction.Synchronization    </div> </li> <li><a href="/article/1564.htm" title="【Gson五】日期对象的序列化和反序列化" target="_blank">【Gson五】日期对象的序列化和反序列化</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96/1.htm">反序列化</a> <div>对日期类型的数据进行序列化和反序列化时,需要考虑如下问题:   1. 序列化时,Date对象序列化的字符串日期格式如何 2. 反序列化时,把日期字符串序列化为Date对象,也需要考虑日期格式问题 3. Date A -> str -> Date B,A和B对象是否equals   默认序列化和反序列化     import com</div> </li> <li><a href="/article/1691.htm" title="【Spark八十六】Spark Streaming之DStream vs. InputDStream" target="_blank">【Spark八十六】Spark Streaming之DStream vs. InputDStream</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a> <div>  1. DStream的类说明文档:   /** * A Discretized Stream (DStream), the basic abstraction in Spark Streaming, is a continuous * sequence of RDDs (of the same type) representing a continuous st</div> </li> <li><a href="/article/1818.htm" title="通过nginx获取header信息" target="_blank">通过nginx获取header信息</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/nginx+header/1.htm">nginx header</a> <div>1. 提取整个的Cookies内容到一个变量,然后可以在需要时引用,比如记录到日志里面, if ( $http_cookie ~* "(.*)$") {         set $all_cookie $1; }     变量$all_cookie就获得了cookie的值,可以用于运算了 </div> </li> <li><a href="/article/1945.htm" title="java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999" target="_blank">java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>参考了网上的http://blog.csdn.net/peasking_dd/article/details/6342984 写了个java版的: public class Print_1_To_NDigit { /** * Q65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999 * 1.使用字符串</div> </li> <li><a href="/article/2072.htm" title="Netty源码学习-ReplayingDecoder" target="_blank">Netty源码学习-ReplayingDecoder</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/netty/1.htm">netty</a> <div>ReplayingDecoder是FrameDecoder的子类,不熟悉FrameDecoder的,可以先看看 http://bylijinnan.iteye.com/blog/1982618 API说,ReplayingDecoder简化了操作,比如: FrameDecoder在decode时,需要判断数据是否接收完全: public class IntegerH</div> </li> <li><a href="/article/2199.htm" title="js特殊字符过滤" target="_blank">js特殊字符过滤</a> <span class="text-muted">cngolon</span> <a class="tag" taget="_blank" href="/search/js%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6/1.htm">js特殊字符</a><a class="tag" taget="_blank" href="/search/js%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6%E8%BF%87%E6%BB%A4/1.htm">js特殊字符过滤</a> <div>1.js中用正则表达式 过滤特殊字符, 校验所有输入域是否含有特殊符号function stripscript(s) {    var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()&mdash;—|{}【】‘;:”“'。,、?]"</div> </li> <li><a href="/article/2326.htm" title="hibernate使用sql查询" target="_blank">hibernate使用sql查询</a> <span class="text-muted">ctrain</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div> import java.util.Iterator; import java.util.List; import java.util.Map; import org.hibernate.Hibernate; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.hibernate.Transa</div> </li> <li><a href="/article/2453.htm" title="linux shell脚本中切换用户执行命令方法" target="_blank">linux shell脚本中切换用户执行命令方法</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%E5%91%BD%E4%BB%A4/1.htm">命令</a><a class="tag" taget="_blank" href="/search/%E5%88%87%E6%8D%A2%E7%94%A8%E6%88%B7/1.htm">切换用户</a> <div>经常在写shell脚本时,会碰到要以另外一个用户来执行相关命令,其方法简单记下:   1、执行单个命令:su - user -c "command" 如:下面命令是以test用户在/data目录下创建test123目录 [root@slave19 /data]# su - test -c "mkdir /data/test123" </div> </li> <li><a href="/article/2580.htm" title="好的代码里只要一个 return 语句" target="_blank">好的代码里只要一个 return 语句</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/return/1.htm">return</a> <div>别再这样写了:public boolean foo() {    if (true) {         return true;     } else {          return false;    </div> </li> <li><a href="/article/2707.htm" title="Android动画效果学习" target="_blank">Android动画效果学习</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>1、透明动画效果 方法一:代码实现 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_main, container, fals</div> </li> <li><a href="/article/2834.htm" title="linux复习笔记之bash shell (4)管道命令" target="_blank">linux复习笔记之bash shell (4)管道命令</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux%E7%AE%A1%E9%81%93%E5%91%BD%E4%BB%A4%E6%B1%87%E6%80%BB/1.htm">linux管道命令汇总</a><a class="tag" taget="_blank" href="/search/linux%E7%AE%A1%E9%81%93%E5%91%BD%E4%BB%A4/1.htm">linux管道命令</a><a class="tag" taget="_blank" href="/search/linux%E5%B8%B8%E7%94%A8%E7%AE%A1%E9%81%93%E5%91%BD%E4%BB%A4/1.htm">linux常用管道命令</a> <div>转载请出自出处: http://eksliang.iteye.com/blog/2105461     bash命令执行的完毕以后,通常这个命令都会有返回结果,怎么对这个返回的结果做一些操作呢?那就得用管道命令‘|’。     上面那段话,简单说了下管道命令的作用,那什么事管道命令呢?     答:非常的经典的一句话,记住了,何为管</div> </li> <li><a href="/article/2961.htm" title="Android系统中自定义按键的短按、双击、长按事件" target="_blank">Android系统中自定义按键的短按、双击、长按事件</a> <span class="text-muted">gqdy365</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>在项目中碰到这样的问题: 由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成: 1、单击事件:就是普通key的单击; 2、双击事件:500ms内同一按键单击两次; 3、长按事件:同一按键长按超过1000ms(系统中长按事件为500ms); 4、组合按键:两个以上按键同时按住; </div> </li> <li><a href="/article/3088.htm" title="asp.net获取站点根目录下子目录的名称" target="_blank">asp.net获取站点根目录下子目录的名称</a> <span class="text-muted">hvt</span> <a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/hovertree/1.htm">hovertree</a><a class="tag" taget="_blank" href="/search/Web+Forms/1.htm">Web Forms</a> <div>使用Visual Studio建立一个.aspx文件(Web Forms),例如hovertree.aspx,在页面上加入一个ListBox代码如下: <asp:ListBox runat="server" ID="lbKeleyiFolder" />   那么在页面上显示根目录子文件夹的代码如下: string[] m_sub</div> </li> <li><a href="/article/3215.htm" title="Eclipse程序员要掌握的常用快捷键" target="_blank">Eclipse程序员要掌握的常用快捷键</a> <span class="text-muted">justjavac</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/%E5%BF%AB%E6%8D%B7%E9%94%AE/1.htm">快捷键</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a> <div>  判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。   曾有人在豆瓣评 《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个 程序员图书列表,目的也就是通过读书,让程序员变懒。  写道 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可</div> </li> <li><a href="/article/3342.htm" title="c++编程随记" target="_blank">c++编程随记</a> <span class="text-muted">lx.asymmetric</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div> 为了字体更好看,改变了格式……   &&运算符:   #include<iostream> using namespace std; int main(){      int a=-1,b=4,k;      k=(++a<0)&&!(b--</div> </li> <li><a href="/article/3469.htm" title="linux标准IO缓冲机制研究" target="_blank">linux标准IO缓冲机制研究</a> <span class="text-muted">音频数据</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>一、什么是缓存I/O(Buffered I/O)缓存I/O又被称作标准I/O,大多数文件系统默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。1.缓存I/O有以下优点:A.缓存I/O使用了操作系统内核缓冲区,</div> </li> <li><a href="/article/3596.htm" title="随想 生活" target="_blank">随想 生活</a> <span class="text-muted">暗黑小菠萝</span> <a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a> <div>其实账户之前就申请了,但是决定要自己更新一些东西看也是最近。从毕业到现在已经一年了。没有进步是假的,但是有多大的进步可能只有我自己知道。   毕业的时候班里12个女生,真正最后做到软件开发的只要两个包括我,PS:我不是说测试不好。当时因为考研完全放弃找工作,考研失败,我想这只是我的借口。那个时候才想到为什么大学的时候不能好好的学习技术,增强自己的实战能力,以至于后来找工作比较费劲。我</div> </li> <li><a href="/article/3723.htm" title="我认为POJO是一个错误的概念" target="_blank">我认为POJO是一个错误的概念</a> <span class="text-muted">windshome</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/J2EE/1.htm">J2EE</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1/1.htm">设计</a> <div>              这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。    &</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>