Python网络数据采集——复杂HTML解析

 

附注:关于基础知识:

  • 标签:HTML语言中最常见的基本单位,通常是成对出现的,比如
    等,网页的内容需在标签中,标题、字符格式、语言、兼容性、关键字、描述等信息显示在标签中,而网页需展示的内容需嵌套在标签中。还有等,他们分类了网页的内容。非常之多。</li> </ul> <p><strong>1.1最牛逼的库之一:BeautifulSoup4</strong></p> <p>  我们此处使用一个网页作为例子:http://www.pythonscraping.com/pages/warandpeace.html。这是战争与和平的纯文本小说,其中所有的人名都使用绿色标记,对话内容使用红色标记。我们截取一种一段HTML代码,其中——</p> <p>  <span class="green">(此处为人名)</span><br>   网络爬虫可以通过 class 属性的值,轻松地区分出两种不同的标签。例如,它们可以用BeautifulSoup 抓取网页上所有的红色文字,而绿色文字一个都不抓。以下给出代码。</p> <pre class="has"><code class="language-python">from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen("http://www.pythonscraping.com/pages/warandpeace.html") bsObj = BeautifulSoup(html) ##建立了一个bs4对象 nameList = bsObj.findAll("span", {"class":"green"}) ## namelist代表一个list 其中bs0bj的语法是findall(tagName, tagAttributes)前者是表情名,后者是类名 ## 非常灵活,以后会继续使用findall for name in nameList:   print(name.get_text()) ##get_text会返回其中的文本值 如果直接读取name的话你会发现里面塞满了各种标签</code></pre> <p><strong>1.2.1 BeautifulSoup的find()和findAll()</strong></p> <p>   findAll(tag, attributes, recursive, text, limit, keywords)是其最基本的用法,但是后面几个基本没卵用。</p> <ul> <li>tag:代表标签,可以传一个标签的名称做函数,当然也可以使用多个比如{"h1","h2","h3","h4","h5","h6"}这样的。</li> <li>attributes:实际上是一个字典,比如{"class":"{"greed","red"}}</li> <li>递归参数 recursive 是一个布尔变量,代表你想抓多少层的信息,因为有一些标签套标签,但如果是True就查到底、如果是False就查一层,默认是True。</li> <li>文本参数 text 有点不同,它是用标签的文本内容去匹配,而不是用标签的属性。这一点通常用来查找。</li> <li>范围限制参数 limit,显然只用于 findAll 方法。 find 其实等价于 findAll 的 limit 等于1 时的情形。就是查多少,但是注意你以为你以为的真的不一定是你以为的。</li> </ul> <p><strong>1.2.2 beautifulsoup的对象们</strong></p> <ul> <li>BeautifulSoup 对象,比如前面代码示例中的 bsObj</li> <li>标签 Tag 对象。BeautifulSoup 对象通过 find 和 findAll,或者直接调用子标签获取的一列对象或单个对象。</li> <li>NavigableString 对象用来表示标签里的文字, 不是标签(有些函数可以操作和生成 NavigableString 对象,而不是标签对象)</li> </ul> <p> </p> <p><strong>1.2.3 导航树</strong></p> <p>  findAll 函数通过标签的名称和属性来查找标签 。但是如果你需要通过标签在文档中的位置来查找标签, 这就是导航树(Navigating Trees)的作用。现在我们用虚拟的在线购物网站 http://www.pythonscraping.com/pages/page3.html 作为要抓取的示例网页。我随便看了看,发现复杂的一逼,其中有一百万(?)个标签,互相嵌套。每一个部分都是一个高级标签的孩子。一般情况下, BeautifulSoup 函数总是处理当前标签的后代标签。例如, bsObj.body.h1 选择了 body 标签后代里的第一个 h1 标签,不会去找 body 外面的标签。</p> <p>  在本次实例中,我们只需要爬取一部分子标签,这就是搜集类比表格的数据。这里不太懂。</p> <pre class="has"><code class="language-python">from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen("http://www.pythonscraping.com/pages/page3.html") bsObj = BeautifulSoup(html) for child in bsObj.find("table",{"id":"giftList"}).children: print(child)</code></pre> <p><strong><span style="color:#4f4f4f;">1.3 正则表达式</span></strong></p> <p><strong>  </strong>任意可以用一系列线性规则构成的字符串。正则表达式就是表达这组规则的缩写。这组规则的正则表达式如下所示</p> <p style="text-align:center;"><a href="http://img.e-com-net.com/image/info8/74038e95523d4641a1094d3ec0a8941d.jpg" target="_blank"><img alt="Python网络数据采集——复杂HTML解析_第1张图片" class="has" height="458" src="http://img.e-com-net.com/image/info8/74038e95523d4641a1094d3ec0a8941d.jpg" width="513" style="border:1px solid black;"></a></p> <p>  例如:[A-Za-z0-9\._+]+@[A-Za-z]+\.(com|org|edu|net)</p> <p>  A-Za-z0-9符号任选一个。+代表着匹配前面的字符 第一个是指必须有个字符 第二个是指字符可以乱七八糟混在一起但是必须有一个中括号里的东西。之后是转义字符代表一个.,再之后是com什么的。</p> <p><strong>1.4 正则表达式与bs4</strong></p> <p>在抓取网页的时候, BeautifulSoup 和正则表达式总是配合使用的。其实,大多数支持字符串参数的函数(比如, find(id="aTagIdHere"))都可以用正则表达式实现。比如想要抓取所有的图片文件,可以使用。这段代码会打印出图片的相对路径,都是以 ../img/gifts/img 开头,以 .jpg 结尾。</p> <pre class="has"><code class="language-python">from urllib.request import urlopen from bs4 import BeautifulSoup import re html = urlopen("http://www.pythonscraping.com/pages/page3.html") bsObj = BeautifulSoup(html) images = bsObj.findAll("img",{"src":re.compile("\.\.\/img\/gifts/img.*\.jpg")}) ## 这里的正则表达式很有趣 src代表地址 之后re代表正则表达式的模块 通常写正则表达式都得这么写 ## \.\.\/img\/gifts/img.*\.jpg" for image in images: print(image["src"])</code></pre> <p> </p> <p><strong>1.5 Lambda表达式</strong></p> <p>Lambda 表达式本质上就是一个函数, 可以作为其他函数的变量使用;也就是说,一个函数不是定义成 f(x, y),而是定义成 f(g(x), y),或 f(g(x), h(x)) 的形式。</p> <p>BeautifulSoup 允许我们把特定函数类型当作 findAll 函数的参数。唯一的限制条件是这些函数必须把一个标签作为参数且返回结果是布尔类型。 BeautifulSoup 用这个函数来评估它遇到的每个标签对象,最后把评估结果为“真”的标签保留,把其他标签剔除</p> <p>soup.findAll(lambda tag: len(tag.attrs) == 2)这样会产生两个属性的标签。<br><br>  </p> <p> </p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1553912784423555072"></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">你可能感兴趣的:(Python网络数据采集——复杂HTML解析)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1892646782941327360.htm" title="Docker:3、在VSCode上安装并运行python程序或JavaScript程序" target="_blank">Docker:3、在VSCode上安装并运行python程序或JavaScript程序</a> <span class="text-muted">shanshandeisu</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/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/js/1.htm">js</a> <div>1.VSCode上安装并运行python程序:1.1.安装Docker插件1.2.新建自动化脚本DockerFileFROMpython:3.-slim-busterWORKDIR/appCOPY..RUNpip3install-rrequirements.txtCMD["python3","app.py"]COPY,第一个点代表根目录下的所有文件,第二个点表示当前的工作路径。RUN允许我们在创建</div> </li> <li><a href="/article/1892644389407223808.htm" title="跟我一起学Python数据处理(七十五):网页抓取之网页分析技巧" target="_blank">跟我一起学Python数据处理(七十五):网页抓取之网页分析技巧</a> <span class="text-muted">lilye66</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</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/pandas/1.htm">pandas</a><a class="tag" taget="_blank" href="/search/matplotlib/1.htm">matplotlib</a> <div>跟我一起学Python数据处理(七十五):网页抓取之网页分析技巧大家好呀!在Python数据处理的学习道路上,我深知独自摸索可能会遇到不少困难,所以希望通过这些博客,能和大家一起学习、共同进步,让我们都能更熟练地掌握这门技术。今天,咱们接着深入探讨网页抓取中的关键环节——分析网页。一、网页抓取与网页分析的关联网页抓取是获取网络数据的重要手段,在数据处理流程里占据着关键位置。而网页分析则是网页抓取的</div> </li> <li><a href="/article/1892643884815675392.htm" title="内网下,Ubuntu (24.10) 离线安装docker以及离线安装docker compose最新教程" target="_blank">内网下,Ubuntu (24.10) 离线安装docker以及离线安装docker compose最新教程</a> <span class="text-muted">AIOTASUD</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</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/Ubuntu/1.htm">Ubuntu</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</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/Ubuntu/1.htm">Ubuntu</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85docker/1.htm">离线安装docker</a> <div>一般在数据比较敏感的情况下,是无法使用网络的,而对于Ubuntu系统来说,怎么离线安装docker和离线安装dockercompose呢?下面我给大家来讲一下:离线安装docker采用二进制安装:1.下载docker离线包官网下载:Indexoflinux/static/stable/x86_64/https://download.docker.com/linux/static/stable/x8</div> </li> <li><a href="/article/1892642117067534336.htm" title="网络安全 | 入门:理解基本概念和术语" target="_blank">网络安全 | 入门:理解基本概念和术语</a> <span class="text-muted">xcLeigh</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E7%9F%A5%E8%AF%86/1.htm">网络安全知识</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a> <div>网络安全|入门:理解基本概念和术语前言一、什么是网络安全?1.1网络安全的重要性1.2网络安全的三大核心目标(CIA三原则)二、网络安全常见术语2.1防火墙(Firewall)2.2入侵检测系统(IDS)与入侵防御系统(IPS)2.3零信任架构(ZeroTrustArchitecture)2.4漏洞(Vulnerability)2.5漏洞扫描(VulnerabilityScanning)2.6社会</div> </li> <li><a href="/article/1892639845923221504.htm" title="跨语言语义理解与生成:多语言预训练方法及一致性优化策略" target="_blank">跨语言语义理解与生成:多语言预训练方法及一致性优化策略</a> <span class="text-muted">网罗开发</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/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><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a> <div>网罗开发(小红书、快手、视频号同名)  大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO</div> </li> <li><a href="/article/1892639719540453376.htm" title="【虚拟机网络】虚拟机的网络配置教程,亲测有效!" target="_blank">【虚拟机网络】虚拟机的网络配置教程,亲测有效!</a> <span class="text-muted">2022lcl</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>一、环境准备虚拟机软件:VMwareWorkstation17操作系统:CentOS7/Ubuntu22.04网络模式:NAT模式(VMnet8)二、配置虚拟网络编辑器1.启用VMnet8打开VMware,进入编辑>虚拟网络编辑器。选择VMnet8,勾选NAT模式,点击确定保存。2.设置默认网关和静态ip池点击更改设置获取管理员权限。进入NAT设置,填写默认网关(例如192.168.177.2)。</div> </li> <li><a href="/article/1892638533131235328.htm" title="SeaTunnel社区「Demo方舟计划」首期活动上线—— MySQL CDC实时同步至PostgreSQL实战" target="_blank">SeaTunnel社区「Demo方舟计划」首期活动上线—— MySQL CDC实时同步至PostgreSQL实战</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>引言凌晨2点,某电商公司的数据工程师小李正对着屏幕抓狂——业务部门临时要求将MySQL的订单表实时同步到PostgreSQL进行分析,众所周知,在数据驱动的业务场景中,异构数据源同步是高频刚需。以MySQL到PostgreSQL的CDC同步为例,开发者常面临以下问题::配置复杂:CDC组件参数众多(如server-id分配、binlog解析模式)。调优缺失:社区示例多为基础配置,缺乏高并发、容错、</div> </li> <li><a href="/article/1892638280189538304.htm" title="XSS 与 CSRF 攻击你了解多少呢" target="_blank">XSS 与 CSRF 攻击你了解多少呢</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/javascript%E5%89%8D%E7%AB%AF%E5%AE%89%E5%85%A8/1.htm">javascript前端安全</a> <div>网络安全至关重要,它保护着我们的个人信息和网站的正常运行。XSS和CSRF是两种常见且危险的网络威胁,它常常困扰着我们,而你又了解多少呢?一、XSS攻击深度剖析(一)概念溯源与攻击本质XSS,即跨站脚本攻击,其核心在于攻击者利用网站对用户输入数据处理的漏洞,将恶意脚本注入网页。当其他用户访问该网页时,浏览器会误将这些恶意脚本当作正常网页内容执行,从而沦为攻击者的“傀儡”,实现用户敏感信息窃取、会话</div> </li> <li><a href="/article/1892637954677993472.htm" title="编程语言" target="_blank">编程语言</a> <span class="text-muted">難釋懷</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>在当今数字化的时代,编程语言作为人与计算机交流的桥梁,扮演着至关重要的角色。无论是开发一款手机应用、创建一个网站还是实现复杂的数据分析,选择合适的编程语言都是成功的关键之一。本文将带你走进编程语言的世界,探索它们的基本概念、类型以及如何根据项目需求选择最合适的工具。一、什么是编程语言?编程语言是一种用于编写计算机程序的形式化语言,它定义了一套规则和语法,让开发者能够指示计算机执行特定任务。编程语言</div> </li> <li><a href="/article/1892637897434132480.htm" title="为什么说异步编程是反人类" target="_blank">为什么说异步编程是反人类</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E5%BC%82%E6%AD%A5%E7%BC%96%E7%A8%8B/1.htm">编程异步编程</a> <div>异步编程作为一种编程模式,在提高程序响应性、效率和可扩展性方面具有显著优势。然而,很多开发者称异步编程为“反人类”,主要是因为其相对复杂的逻辑、调试困难以及在一些情况下可能带来的潜在陷阱。异步编程的难点在于理解异步执行的时序、错误处理的方式以及在多线程和异步操作混合使用时的复杂性。这一模式特别适合处理I/O密集型操作,然而它的实现和管理常常让开发者感到头痛。一、异步编程的复杂性异步编程本质上是为了</div> </li> <li><a href="/article/1892637262924017664.htm" title="Python 抽象基类 ABC :从实践到优雅" target="_blank">Python 抽象基类 ABC :从实践到优雅</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>今天我们来聊聊Python中的抽象基类(AbstractBaseClass,简称ABC)。虽然这个概念在Python中已经存在很久了,但在日常开发中,很多人可能用得并不多,或者用得不够优雅。让我们从一个实际场景开始:假设你正在开发一个文件处理系统,需要支持不同格式的文件读写,比如JSON、CSV、XML等。初始版本:简单但不够严谨我们先来看看最简单的实现方式:classFileHandler:de</div> </li> <li><a href="/article/1892637261648949248.htm" title="Python 并发编程实战:优雅地使用 concurrent.futures" target="_blank">Python 并发编程实战:优雅地使用 concurrent.futures</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>在Python多线程编程中,concurrent.futures模块提供了一个高层的接口来异步执行可调用对象。今天,我们将通过一个循序渐进的案例,深入了解如何使用这个强大的工具。从一个模拟场景开始假设我们需要处理一批网络请求。为了模拟这个场景,我们使用sleep来代表耗时操作:importtimeimportrandomdefslow_operation(task_id):"""模拟一个耗时的网络</div> </li> <li><a href="/article/1892637133265498112.htm" title="shutil 标准库: Python 文件操作的万用刀" target="_blank">shutil 标准库: Python 文件操作的万用刀</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>今天来聊一个被低估的Python标准库-shutil。工作中我们用Python(尤其是写一些短小轻快的脚本)虽然经常和文件打交道,却很少用到shutil。但实际上,shutil提供了比os模块更高级的文件操作接口,能让我们写出更Pythonic的代码。从一个真实场景说起最近在整理项目代码时,需要将散落在各处的配置文件归类到统一目录。按以往的习惯,我会这样写:importos#创建目标目录ifnot</div> </li> <li><a href="/article/1892637134586703872.htm" title="Python 自带的日期日历处理大师:calendar 库" target="_blank">Python 自带的日期日历处理大师:calendar 库</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>在Python开发中,我们经常需要处理日期和时间。虽然datetime库是最常用的选择,但其实Python标准库中的calendar模块也是一个强大的工具,特别适合处理日历相关的计算和展示。从一个真实场景开始假设你正在开发一个会议室预订系统,需要:展示月度视图计算工作日处理节假日逻辑让我们看看如何用calendar来优雅地解决这些问题。基础用法:生成日历importcalendar#创建日历对象c</div> </li> <li><a href="/article/1892637132065927168.htm" title="Python性能优化的幕后功臣: __pycache__与字节码缓存机制" target="_blank">Python性能优化的幕后功臣: __pycache__与字节码缓存机制</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>在日常Python开发中,我们经常会看到项目目录下神秘的__pycache__文件夹和.pyc文件。作为经验丰富的Python开发者,今天让我们深入理解这个性能优化机制。从一个性能困扰说起最近在优化一个数据处理微服务时,发现每次启动服务都需要2-3秒的预热时间。通过profile可以发现大量时间花在了Python模块的加载上。Python的编译过程与大多数人的认知不同,Python并不是纯解释型语</div> </li> <li><a href="/article/1892636877719138304.htm" title="Python Generator:一个被低估的性能利器" target="_blank">Python Generator:一个被低估的性能利器</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>调用OpenAI的API时,设置stream=True,接着forchunkincompletion:我们就可以“流式”地获取响应的内容。而非等待远程的模型将所有内容生成完毕,再返回给我们(这通常要等很久)。本文讨论这背后的PythonGenerator。从一个经典问题开始假设我们要处理一个超大的日志文件,需要按行读取并分析。传统的做法是:defread_log_file(filename):re</div> </li> <li><a href="/article/1892636878990012416.htm" title="Python `__slots__` 进阶指南:不止于节省内存,从原理到实践" target="_blank">Python `__slots__` 进阶指南:不止于节省内存,从原理到实践</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>相信不少Python开发者都听说过__slots__,知道它可以帮助节省内存。但你是否思考过它背后的原理,以及在实际开发中的其他妙用?让我们一起深入探讨。从一个性能问题说起假设你的一个系统需要处理大量的订单对象:classOrder:def__init__(self,order_id,symbol,price,quantity):self.order_id=order_idself.symbol=</div> </li> <li><a href="/article/1892636876469235712.htm" title="Python 元类(Meta Class):解密 Python 面向对象编程的幕后推手" target="_blank">Python 元类(Meta Class):解密 Python 面向对象编程的幕后推手</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AFpython/1.htm">后端python</a> <div>在Python编程中,我们每天都在和类打交道,但是你是否也和我一样想过:类本身是什么?是谁创建了类?元类(MetaClass)就是用来创建类的"类"。今天让我们一起深入理解这个强大而神秘的特性。从一个简单的类说起classPerson:def__init__(self,name):self.name=namedefgreet(self):returnf"Hello,I'm{self.name}"#</div> </li> <li><a href="/article/1892636567688769536.htm" title="langchain系列(二)- 提示词模板以及消息" target="_blank">langchain系列(二)- 提示词模板以及消息</a> <span class="text-muted">码--到成功</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大语言模型</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a> <div>导读环境:OpenEuler、Windows11、WSL2、Python3.12.3langchain0.3背景:前期忙碌的开发阶段结束,需要沉淀自己的应用知识,过一遍LangChain时间:20250212说明:技术梳理提示词模板理论说明提示模板将用户输入和参数转换为语言模型的指令,以此来实现模型的响应,帮助它理解上下文并生成相关且连贯的基于语言的输出。其接受一个字典作为输入,其中每个键代表提示</div> </li> <li><a href="/article/1892636441335361536.htm" title="langchain系列 - FewShotPromptTemplate 少量示例" target="_blank">langchain系列 - FewShotPromptTemplate 少量示例</a> <span class="text-muted">码--到成功</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大语言模型</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a> <div>导读环境:OpenEuler、Windows11、WSL2、Python3.12.3langchain0.3背景:前期忙碌的开发阶段结束,需要沉淀自己的应用知识,过一遍LangChain时间:20250220说明:技术梳理,针对FewShotPromptTemplate专门来写一篇博客概念说明few-shot最初来源于机器学习的概念,还有one-shot、zero-shot概念,概念如下:机器学习</div> </li> <li><a href="/article/1892636438655201280.htm" title="Matplotlib 高级图表绘制与交互式可视化(ipywidgets)" target="_blank">Matplotlib 高级图表绘制与交互式可视化(ipywidgets)</a> <span class="text-muted">eqwaak0</span> <a class="tag" taget="_blank" href="/search/matplotlib/1.htm">matplotlib</a><a class="tag" taget="_blank" href="/search/matplotlib/1.htm">matplotlib</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>目录:ipywidgets介绍1.什么是ipywidgets直接开始:动态调整正弦波频率随机散点图启用交互式模式使用滑块和下拉菜单调整图表样式使用布局管理器创建复杂界面使用动画创建动态图表最后:综合示例:动态仪表盘ipywidgets介绍1.什么是ipywidgetsipywidgets是一个用于JupyterNotebook和JupyterLab的交互式HTML小部件库,允许用户在Jupyter</div> </li> <li><a href="/article/1892635304905469952.htm" title="使用UnstructuredXMLLoader加载和解析XML文件" target="_blank">使用UnstructuredXMLLoader加载和解析XML文件</a> <span class="text-muted">bBADAS</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/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/python/1.htm">python</a> <div>在AI技术与文本解析领域中,解析XML文件是一项非常基础的任务。XML格式常用于数据交换,而在某些情况下,我们需要将XML中的内容转换为结构化的数据,以便于进一步处理。在这篇文章中,我将向大家介绍如何使用UnstructuredXMLLoader来加载和解析XML文件。1.技术背景介绍XML(可扩展标记语言)是一种标记语言,设计用于数据的存储和传输。由于其结构化和可读性强的特性,在网络和软件开发中</div> </li> <li><a href="/article/1892634926885433344.htm" title="nginx ngx_http_module(9) 指令详解" target="_blank">nginx ngx_http_module(9) 指令详解</a> <span class="text-muted">s_fox_</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>nginxngx_http_module(9)指令详解nginx模块目录nginx全指令目录一、目录1.1模块简介ngx_http_uwsgi_module:uWSGI支持模块,允许Nginx与uWSGI服务器进行通信。uWSGI是一种应用服务器协议,广泛用于PythonWeb应用的部署。通过该模块,Nginx可以将动态请求转发给uWSGI服务器处理,并将响应返回给客户端。常用的指令包括uwsgi</div> </li> <li><a href="/article/1892634799974182912.htm" title="nginx ngx_stream_module(1) 指令详解" target="_blank">nginx ngx_stream_module(1) 指令详解</a> <span class="text-muted">s_fox_</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>nginxngx_stream_module(1)指令详解nginx模块目录nginx全指令目录一、目录1.1模块简介ngx_stream_core_module:流核心模块,提供了处理TCP和UDP流量的基本功能。它允许Nginx作为TCP/UDP代理服务器,管理和转发网络连接。常用的指令包括server块用于定义监听的端口和后端服务器。ngx_stream_access_module:访问控制</div> </li> <li><a href="/article/1892633475786272768.htm" title="解决本地模拟IP的DHCP冲突问题" target="_blank">解决本地模拟IP的DHCP冲突问题</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>解决DHCP冲突导致的多IP绑定失效问题前言续接上一篇在本机上模拟IP地址。在实际操作中,如果本机原有IP(如192.168.2.7)是通过DHCP自动获取的,直接添加新IP(如10.0.11.11)可能会导致DHCP服务重新分配IP地址。从而导致原有IP丢失或新IP无法生效。问题原因DHCP动态分配机制:当网络接口的IP配置发生变更(例如手动添加新IP)时,DHCP客户端可能会触发IP地址的重新</div> </li> <li><a href="/article/1892633347381850112.htm" title="项目管理的核心是什么?" target="_blank">项目管理的核心是什么?</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a> <div>项目管理不仅仅是按照一定的计划进行任务的执行,更重要的是如何在面对复杂和动态的环境下,保证项目顺利进行并达到预期的结果。它的核心在于高效的资源配置、团队的合作与协调、风险管理及变更管理。在这些关键因素的支持下,项目能够高效地从开始到结束,达到预定目标,控制风险,并实现价值。项目管理的本质是通过系统化的方法论,确保项目在规定的时间、预算和质量标准内完成。而在实际过程中,项目经理需要面对许多不可预见的</div> </li> <li><a href="/article/1892633161351884800.htm" title="sql注入之python脚本进行时间盲注和布尔盲注" target="_blank">sql注入之python脚本进行时间盲注和布尔盲注</a> <span class="text-muted">温柔小胖</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><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/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a> <div>一、什么是时间盲注和布尔盲注?答:时间盲注是攻击者通过构造恶意sql语句利用sleep()等延迟函数来观察数据库响应时间差异来进行推断信息和条件判断。如果条件为真,数据库会执行延时操作,如果为假则立即返回。响应时间较短。SELECTIF(1=1,SLEEP(5),0);如果条件为真、数据库会暂停5s如果条件为假、数据库会立即返回布尔盲注通过观察数据库返回的不同响应(如真或假)来推断信息。攻击者构造</div> </li> <li><a href="/article/1892632025945403392.htm" title="Python中的生成器表达式(generator expression)" target="_blank">Python中的生成器表达式(generator expression)</a> <span class="text-muted">Java资深爱好者</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Python中的生成器表达式(generatorexpression)是一种类似于列表解析(listcomprehension)的语法结构,但它返回的是一个生成器(generator)对象,而不是一个完整的列表。生成器对象是一个迭代器,它可以逐个产生元素,而不是一次性生成所有元素,从而节省内存空间。生成器表达式在形式上与列表解析非常相似,但是它们使用圆括号()而不是方括号[]。当你迭代生成器表达式</div> </li> <li><a href="/article/1892631521408380928.htm" title="Ollama部署大模型,本地调用" target="_blank">Ollama部署大模型,本地调用</a> <span class="text-muted">居7然</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</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/chatgpt/1.htm">chatgpt</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/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a> <div>Ollama简单介绍Ollama是一个强大的大型语言模型平台,它允许用户轻松地下载、安装和运行各种大型语言模型。在本文中,我将指导你如何在你的本地机器上部署Ollama,并展示如何使用Python进行简单的API调用以访问这些模型最近很多人在学习大模型的时候,也遇到这个问题了,Ollama下载的模型,如果不想在命令行里面直接使用,而是想用Python去调用大模型该如何去使用?这是Ollama的官网</div> </li> <li><a href="/article/1892630388057108480.htm" title="PyInstaller参数大揭秘:一文读懂打包神器的核心密码" target="_blank">PyInstaller参数大揭秘:一文读懂打包神器的核心密码</a> <span class="text-muted">Abossss</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> <div>一、引言在Python开发的广阔领域中,我们常常会面临这样一个问题:如何将自己精心编写的Python脚本,分享给那些没有Python环境的小伙伴,或者部署到生产环境中呢?这时候,PyInstaller库就如同一位救星,闪亮登场。PyInstaller是一个功能强大的跨平台打包工具,它可以将Python脚本及其所有依赖项,打包成一个独立的可执行文件。这意味着,无论目标系统是否安装了Python环境,</div> </li> <li><a href="/article/111.htm" title="JAVA基础" target="_blank">JAVA基础</a> <span class="text-muted">灵静志远</span> <a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E8%BD%BD/1.htm">加载</a><a class="tag" taget="_blank" href="/search/Date/1.htm">Date</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%B1%A0/1.htm">字符串池</a><a class="tag" taget="_blank" href="/search/%E8%A6%86%E7%9B%96/1.htm">覆盖</a> <div>一、类的初始化顺序 1 (静态变量,静态代码块)-->(变量,初始化块)--> 构造器 同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。 二、String 1 String a = "abc"; JAVA虚拟机首先在字符串池中查找是否已经存在了值为"abc"的对象,根</div> </li> <li><a href="/article/238.htm" title="keepalived实现redis主从高可用" target="_blank">keepalived实现redis主从高可用</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>方案说明 两台机器(称为A和B),以统一的VIP对外提供服务 1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A) 2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务 3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始</div> </li> <li><a href="/article/365.htm" title="java文件操作大全" target="_blank">java文件操作大全</a> <span class="text-muted">0624chenhong</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>最近在博客园看到一篇比较全面的文件操作文章,转过来留着。 http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html 转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html 一.获得控制台用户输入的信息    &nbs</div> </li> <li><a href="/article/492.htm" title="android学习任务" target="_blank">android学习任务</a> <span class="text-muted">不懂事的小屁孩</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a> <div>任务 完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem</div> </li> <li><a href="/article/619.htm" title="zoom.js" target="_blank">zoom.js</a> <span class="text-muted">换个号韩国红果果</span> <a class="tag" taget="_blank" href="/search/oom/1.htm">oom</a> <div>它的基于bootstrap 的 https://raw.github.com/twbs/bootstrap/master/js/transition.js  transition.js模块引用顺序 <link rel="stylesheet" href="style/zoom.css"> <script src=&q</div> </li> <li><a href="/article/746.htm" title="详解Oracle云操作系统Solaris 11.2" target="_blank">详解Oracle云操作系统Solaris 11.2</a> <span class="text-muted">蓝儿唯美</span> <a class="tag" taget="_blank" href="/search/Solaris/1.htm">Solaris</a> <div>当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。  </div> </li> <li><a href="/article/873.htm" title="spring学习——springmvc(一)" target="_blank">spring学习——springmvc(一)</a> <span class="text-muted">a-john</span> <a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a> <div>Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。   1,跟踪Spring MVC的请求 请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前</div> </li> <li><a href="/article/1000.htm" title="hdu4342 History repeat itself-------多校联合五" target="_blank">hdu4342 History repeat itself-------多校联合五</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E8%AE%BA/1.htm">数论</a> <div>水题就不多说什么了。 #include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--) </div> </li> <li><a href="/article/1127.htm" title="EJB和javabean的区别" target="_blank">EJB和javabean的区别</a> <span class="text-muted">asia007</span> <a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/ejb/1.htm">ejb</a> <div>EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了   1.EJB用于服务端应用开发, 而JavaBeans</div> </li> <li><a href="/article/1254.htm" title="Struts的action和Result总结" target="_blank">Struts的action和Result总结</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a><a class="tag" taget="_blank" href="/search/Action%E9%85%8D%E7%BD%AE/1.htm">Action配置</a><a class="tag" taget="_blank" href="/search/Result%E9%85%8D%E7%BD%AE/1.htm">Result配置</a> <div>    一:Action的配置详解:      下面是一个Struts中一个空的Struts.xml的配置文件     <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC &quo</div> </li> <li><a href="/article/1381.htm" title="如何带好自已的团队" target="_blank">如何带好自已的团队</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/%E5%9B%A2%E9%98%9F%E7%AE%A1%E7%90%86/1.htm">团队管理</a><a class="tag" taget="_blank" href="/search/%E5%9B%A2%E9%98%9F/1.htm">团队</a> <div>在网上看到博客" 怎么才能让团队成员好好干活"的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点: 1.诚信         对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提</div> </li> <li><a href="/article/1508.htm" title="Java代码混淆工具" target="_blank">Java代码混淆工具</a> <span class="text-muted">sunjing</span> <a class="tag" taget="_blank" href="/search/ProGuard/1.htm">ProGuard</a> <div>Open Source Obfuscators ProGuard http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m</div> </li> <li><a href="/article/1635.htm" title="【Redis三】基于Redis sentinel的自动failover主从复制" target="_blank">【Redis三】基于Redis sentinel的自动failover主从复制</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。   什么是Sentine</div> </li> <li><a href="/article/1762.htm" title="使用代理实现Hibernate Dao层自动事务" target="_blank">使用代理实现Hibernate Dao层自动事务</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div>都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。 public void save(Object obj){ Session session = this.getSession(); Transaction tran = session.beginTransaction(); try </div> </li> <li><a href="/article/1889.htm" title="maven3实战读书笔记" target="_blank">maven3实战读书笔记</a> <span class="text-muted">braveCS</span> <a class="tag" taget="_blank" href="/search/maven3/1.htm">maven3</a> <div>Maven简介 是什么? Is a software project management and comprehension tool.项目管理工具 是基于POM概念(工程对象模型) [设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复] [与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区]     功能: </div> </li> <li><a href="/article/2016.htm" title="编程之美-子数组的最大乘积" target="_blank">编程之美-子数组的最大乘积</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a> <div> public class MaxProduct { /** * 编程之美 子数组的最大乘积 * 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。 * 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。 * 但按题目的意思,是要求得这个子数组,而不</div> </li> <li><a href="/article/2143.htm" title="读书笔记-2" target="_blank">读书笔记-2</a> <span class="text-muted">chengxuyuancsdn</span> <a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/1.htm">读书笔记</a> <div>1、反射 2、oracle年-月-日 时-分-秒 3、oracle创建有参、无参函数 4、oracle行转列 5、Struts2拦截器 6、Filter过滤器(web.xml) 1、反射 (1)检查类的结构 在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。 2、oracle年月日时分秒 s</div> </li> <li><a href="/article/2270.htm" title="[求学与房地产]慎重选择IT培训学校" target="_blank">[求学与房地产]慎重选择IT培训学校</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/it/1.htm">it</a> <div>      关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题       培训学校的教学楼和宿舍的环境和稳定性问题       我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子... &nb</div> </li> <li><a href="/article/2397.htm" title="RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系" target="_blank">RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/rman/1.htm">rman</a><a class="tag" taget="_blank" href="/search/filesperset/1.htm">filesperset</a><a class="tag" taget="_blank" href="/search/PARALLELISM/1.htm">PARALLELISM</a> <div>RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转 PARALLELISM --- 我们还可以通过parallelism参数来指定同时"自动"创建多少个通道: RMAN > configure device type disk parallelism 3 ; 表示启动三个通道,可以加快备份恢复的速度。 </div> </li> <li><a href="/article/2524.htm" title="简单排序:冒泡排序" target="_blank">简单排序:冒泡排序</a> <span class="text-muted">dieslrae</span> <a class="tag" taget="_blank" href="/search/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F/1.htm">冒泡排序</a> <div> public void bubbleSort(int[] array){ for(int i=1;i<array.length;i++){ for(int k=0;k<array.length-i;k++){ if(array[k] > array[k+1]){ </div> </li> <li><a href="/article/2651.htm" title="初二上学期难记单词三" target="_blank">初二上学期难记单词三</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/sciet/1.htm">sciet</a> <div>concert 音乐会 tonight 今晚 famous 有名的;著名的 song 歌曲 thousand 千 accident 事故;灾难 careless 粗心的,大意的 break 折断;断裂;破碎 heart 心(脏) happen  偶尔发生,碰巧 tourist 旅游者;观光者 science (自然)科学 marry 结婚 subject 题目;</div> </li> <li><a href="/article/2778.htm" title="I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码" target="_blank">I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make   前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。 异常一: make[2]: cc: Command not found 异常原因:没有安装g</div> </li> <li><a href="/article/2905.htm" title="并发容器" target="_blank">并发容器</a> <span class="text-muted">shuizhaosi888</span> <a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91%E5%AE%B9%E5%99%A8/1.htm">并发容器</a> <div>   通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。    并发容器ConcurrentHashMap       替代同步基于散列的Map,通过Lock控制。   &nb</div> </li> <li><a href="/article/3032.htm" title="Spring Security(12)——Remember-Me功能" target="_blank">Spring Security(12)——Remember-Me功能</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/Spring+Security/1.htm">Spring Security</a><a class="tag" taget="_blank" href="/search/Remember+Me/1.htm">Remember Me</a><a class="tag" taget="_blank" href="/search/%E8%AE%B0%E4%BD%8F%E6%88%91/1.htm">记住我</a> <div>Remember-Me功能   目录   1.1     概述 1.2     基于简单加密token的方法 1.3     基于持久化token的方法 1.4     Remember-Me相关接口和实现</div> </li> <li><a href="/article/3159.htm" title="位运算" target="_blank">位运算</a> <span class="text-muted">焦志广</span> <a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a> <div> 一、位运算符C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。 例如:9&am</div> </li> <li><a href="/article/3286.htm" title="nodejs 数据库连接 mongodb mysql" target="_blank">nodejs 数据库连接 mongodb mysql</a> <span class="text-muted">liguangsong</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/node/1.htm">node</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5/1.htm">数据库连接</a> <div>1.mysql 连接    package.json中dependencies加入     "mysql":"~2.7.0"    执行 npm install      在config 下创建文件 database.js     </div> </li> <li><a href="/article/3413.htm" title="java动态编译" target="_blank">java动态编译</a> <span class="text-muted">olive6615</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/HotSpot/1.htm">HotSpot</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E7%BC%96%E8%AF%91/1.htm">动态编译</a> <div>    在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。     HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视</div> </li> <li><a href="/article/3540.htm" title="Storm0.9.5的集群部署配置优化" target="_blank">Storm0.9.5的集群部署配置优化</a> <span class="text-muted">roadrunners</span> <a class="tag" taget="_blank" href="/search/%E4%BC%98%E5%8C%96/1.htm">优化</a><a class="tag" taget="_blank" href="/search/storm.yaml/1.htm">storm.yaml</a> <div>nimbus结点配置(storm.yaml)信息: # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional inf</div> </li> <li><a href="/article/3667.htm" title="101个MySQL 的调节和优化的提示" target="_blank">101个MySQL 的调节和优化的提示</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div> 1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。   2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。   3. 使用电池供电的RAM(注:RAM即随机存储器)。   4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列</div> </li> <li><a href="/article/3794.htm" title="zoj 3829 Known Notation(贪心)" target="_blank">zoj 3829 Known Notation(贪心)</a> <span class="text-muted">阿尔萨斯</span> <a class="tag" taget="_blank" href="/search/ZOJ/1.htm">ZOJ</a> <div> 题目链接:zoj 3829 Known Notation 题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。 解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1</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>