Python入门:网站爬虫基础

10.1 什么是爬虫?

爬虫是自动化帮我们获取网页数据的程序
如果把互联网想像成一张大网,那么爬虫就是一只为我们工作的蜘蛛
它可以按照我们写好的程序,自动化地在网上猎取我们需要的猎物(数据)

from urllib.request import urlopen
my_first_spider = urlopen("https://assets.baydn.com/baydn/public/codetime/0.0.1/hello_human.html")
print(my_first_spider.read())
# 输出:


Spider's Home


Hello, human.

10.2 爬虫的原理

刚才说了,爬虫是自动化帮我们获取网页数据的程序。那么究竟是如何获取网页数据的?

将网络通信与打电话做一个类比:当我们想访问某个网址(URL)时,网址(URL)就类似于电话号码,而电脑、智能手机这样的客户端(client)也就类似于电话。我们通过客户端的浏览器(browser)发送访问请求(request),就好比用电话拨打电话号码。接收请求的一方叫做服务器(web server),如果服务器运行正常并且同意我们的请求,则会向客户端发送回答(response),回答的内容会放在HTML文件里。这时,浏览器又可以帮我们解析HTML文件,让它变成我们通常看到的网页的模样。

来源扇贝编程

向网址https://assets.baydn.com/baydn/public/codetime/1/scrape_py.html发送请求,查看输出

from urllib.request import urlopen
web_response = urlopen("https://assets.baydn.com/baydn/public/codetime/1/scrape_py.html")
print(web_response)
# 输出: 

输出:,这代表我们成功获得了对方网址给我们的回答。但究竟回答的具体内容是什么呢?我们在代码中看到的 urllib 又是什么呢?

10.3 urllib模块

urllib 是Python 中用于获取网页数据的模块,通过 import 调用它,并让它(urllib.request)帮我们向网址发送请求,接收回答。我们刚刚得到的相当于目标网址给我们一封尚未拆封的信,而接下来要做的是用 urllib 中的 read(),来读这封信的具体内容。

from urllib.request import urlopen
web_response = urlopen("https://assets.baydn.com/baydn/public/codetime/1/scrape_py.html")
print(web_response.read())  # 这里添加.read()

10.4 HTML基本结构

HTML文件的基本组成部分是:head 和 body
head 一般存放网页的标题(title)等信息
body一般承载网页的主体信息

                  #head部分开头
......   #该HTML的标题
                 #head部分结尾
                  #body部分开头
                 #body部分结尾

10.5 如何查看网页HTML

将浏览器打开至目标网页,点击鼠标右键,在菜单中选中 “检查”(注:有的系统中叫做“审查元素”或“检查元素”),点击 “检查” 之后,便能在屏幕上看见当前网页的HTML结构。

image

10.6 筛选信息

定位标题

from urllib.request import urlopen
web_response = urlopen("https://web.shanbay.com/codetime/home?")
html_file = web_response.read().decode()
# 找到 "" 的索引位置
start = html_file.find("<title>")
# 找到 "" 的索引位置
end = html_file.find("")
# 输出标题字符串
title = html_file[start+len(""):end]
print(title)
</code></pre> 
 <h1>10.7 re 模块</h1> 
 <p>调用<code>re</code>模块来使用正则表达式<br> 正则表达式:正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串<br> 官方文档:re — Regular expression operations</p> 
 <p><code>re.search()</code>筛选数据</p> 
 <pre><code>import re
record = ["老张@小明老师","小王阿强的同学","@阿强"]
for item in record:
    if re.search("@",item):
        print(item)
# 输出:
老张@小明老师
@阿强
</code></pre> 
 <p><code>re.findall()</code>将目标字符串中符合某个规则的部分都找出来,一并存在列表里</p> 
 <pre><code>import re
record = "老张@小明老师@小王@阿强的同学@阿强"
find_at = re.findall("@",record)
print(find_at)
# 输出: ['@', '@', '@', '@']
</code></pre> 
 <h4>符号匹配</h4> 
 <p><code>^</code>:匹配字符串的开头</p> 
 <pre><code>import re
record = ["老张@小明老师","小王阿强的同学","@阿强"]
for item in record:
    if re.search("^@",item):
        print(item)
#输出:@阿强
</code></pre> 
 <p><code>$</code>:匹配字符串结尾</p> 
 <pre><code>email_addr = ["woxuepython@qq.com","20190401_xuexi@168.cn","python_learn.cn",\
              "aixuepython@163.com","python_good_com@hotmail.cn","python_365_cn@foxmail.com"]
for email in email_addr:
    if re.search("com$",email):
        print(email)
# 输出:
woxuepython@qq.com
aixuepython@163.com
python_365_cn@foxmail.com
</code></pre> 
 <p><code>.</code>:匹配任意字符<br> <code>*</code>:表示任意次(从0到无限)<br> <code>+</code>:表示至少一次或任意次数</p> 
 <pre><code>import re
email_addr = ["woxuepython@qq.com",
              "20190401_xuexi@168.cn",
              "python_learn.cn",
              "aixuepython@163.com",
              "python_good@hotmail.cn",
              "python_365@foxmail.com"]
for email in email_addr:
    if re.search("@.*cn",email):
        print(email)
# 输出
20190401_xuexi@168.cn
python_good@hotmail.cn
</code></pre> 
 <h4>数字和字母</h4> 
 <p><code>[0-9]</code>代表 从0至9共十个数字中的任意一个<br> <code>[a-z]</code>代表 从小写a到z,26个字母中的一个<br> <code>[A-Z]</code> 代表 从大写A到Z,26个字母的一个</p> 
 <p>如果规则中的字母并不多,也可以将其一个个敲出来:<br> 比如 "[abc]" 代表符合 abc 三个字母中的一个</p> 
 <pre><code>#输出其中首字母为 M 或者 P 的人名
import re
names = ["Joe","Jasmine","Mike","Pessilia","Pong","Sophie"]
for name in names:
    if re.search("^[MP]",name):
        print(name)
# 输出:
Mike
Pessilia
Pong
</code></pre> 
 <h4>贪婪匹配原则</h4> 
 <p>在默认情况下<code>*</code> 和<code>+</code>符号返回的字符串为符合条件下的最大值</p> 
 <pre><code>print(re.findall("a.*b","aabbabaabaa"))
# 输出:['aabbabaab']
</code></pre> 
 <p>如何避免贪婪匹配?我们可以使用符号 <code>?</code></p> 
 <pre><code>print(re.findall("a.*?b","aabbabaabaa"))
#输出:['aab', 'ab', 'aab']
</code></pre> 
 <h1>10.8 爬虫详细教程实例</h1> 
 <p>入门:Python爬虫详细教程:统计扇贝网站打卡数据<br> 进阶:Python爬虫:统计扇贝单词书</p> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1730981927365718016"></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入门:网站爬虫基础)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1882714458011267072.htm"
                           title="Python调用open ai接口" target="_blank">Python调用open ai接口</a>
                        <span class="text-muted">蓝天星空</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%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/python/1.htm">python</a>
                        <div>要使用Python调用OpenAI的接口,您需要完成以下几个步骤:1.**注册并获取API密钥**2.**安装OpenAI的Python库**3.**编写Python代码以调用API**以下是详细的步骤说明:---###1.注册并获取API密钥首先,您需要在[OpenAI官方网站](https://beta.openai.com/signup/)注册一个账户。注册完成后,您需要创建一个API密钥:</div>
                    </li>
                    <li><a href="/article/1882711179093143552.htm"
                           title="服务器遭到入侵后的排查与应对" target="_blank">服务器遭到入侵后的排查与应对</a>
                        <span class="text-muted">Ryann6</span>
<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>
                        <div>目录1.立即隔离受影响的服务器2.检查系统日志重点检查:3.检查运行中的进程和开放端口4.检查文件系统的异常更改5.分析网络流量6.检查用户账户和权限7.查杀恶意软件8.恢复系统和加强防御最后在当今的网络环境中,服务器遭到入侵已经成为一个不可忽视的安全威胁。无论是个人网站、企业服务,还是云平台上的资源,一旦服务器被攻击,可能会导致数据泄露、服务中断、甚至财务损失。本文将介绍如何在服务器遭到入侵后进</div>
                    </li>
                    <li><a href="/article/1882697424103862272.htm"
                           title="一个访问外网的加速方法" target="_blank">一个访问外网的加速方法</a>
                        <span class="text-muted">我待_JAVA_如初恋</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>操作流程:浏览器搜索魔戒.net。网站叫魔戒.net。先注册,然后点击左侧的购买订阅。邀请码(选填):ldQHKR6W然后左侧使用文档---#windows教程----下载地址下载的同时,看使用文档。下载完了,长这样:然后继续:访问外网的时候,提前运行它,把它打开就行了。很流畅,比较快。</div>
                    </li>
                    <li><a href="/article/1882694019612471296.htm"
                           title="如何设置全局代理网络?" target="_blank">如何设置全局代理网络?</a>
                        <span class="text-muted">星鹿跨境</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>为了访问被封锁的网站,提高网络安全性,设置全局代理网络都是一种有效的解决方案。全局代理网络可以将系统中的所有网络请求都通过指定的代理服务器进行转发,来确保所有应用程序都使用代理服务器进行网络访问。什么是全局代理?全局代理是指将系统中的所有网络请求都通过指定的代理服务器进行转发。这意味着不管是浏览器、即时通讯软件还是其他任何网络应用程序,都将通过设置的代理进行连接。全局代理常常用于绕过地区限制、提升</div>
                    </li>
                    <li><a href="/article/1882664648025632768.htm"
                           title="mysql5.7中文全文检索,让MySQL支持中文全文检索" target="_blank">mysql5.7中文全文检索,让MySQL支持中文全文检索</a>
                        <span class="text-muted">无我的舞者</span>
<a class="tag" taget="_blank" href="/search/mysql5.7%E4%B8%AD%E6%96%87%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%A2/1.htm">mysql5.7中文全文检索</a>
                        <div>因为中文词间并没有明显的区隔,所以中文的分词是按照字典、词库的匹配和词的频度统计,或是基于句法、语法分析的分词,而MySQL并不具备此功能,所以MySQL对中文全文检索的支持几乎为零。目前很多网站和系统都提供了全文搜索功能,用户可以输入词或者语句来定位匹配的记录。在后台,可以使用Select查询中的Like语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在</div>
                    </li>
                    <li><a href="/article/1882657210778054656.htm"
                           title="QT QML基础绘图入门" target="_blank">QT QML基础绘图入门</a>
                        <span class="text-muted">QT性能优化QT原理源码QT界面美化</span>
<a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/qt6.3/1.htm">qt6.3</a><a class="tag" taget="_blank" href="/search/qt5/1.htm">qt5</a><a class="tag" taget="_blank" href="/search/QT%E6%95%99%E7%A8%8B/1.htm">QT教程</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>QTQML基础绘图入门补天云火鸟博客创作软件补天云网站1QT_Quick_和_QML_综述1.1QT_Quick_的基本概念1.1.1QT_Quick_的基本概念QT_Quick_的基本概念QT_QT_quick基本概念引言在探索《QTQML基础绘图入门》一书的过程中,我们将在本书的这一章节中深入理解QT快速原型(QtQuick)的基础。QTQuick是一种基于场景绘制技术的框架,它提供了一种以声</div>
                    </li>
                    <li><a href="/article/1882652541334908928.htm"
                           title="AtCoder备赛刷题 ABC 363 | Avoid Palindrome 2" target="_blank">AtCoder备赛刷题 ABC 363 | Avoid Palindrome 2</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/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>学习C++从娃娃抓起!记录下AtCoder(日本算法竞技网站)备赛学习过程中的题目,记录每一个瞬间。附上汇总贴:AtCoder备赛刷题|汇总【ProblemStatement】YouaregivenastringSSSoflengthNNNconsistingonlyoflowercaseEnglishletters.给定一个长度为NNN的字符串SSS,仅由小写英文字母组成。Findthenumb</div>
                    </li>
                    <li><a href="/article/1882642090194694144.htm"
                           title="如何开发成功的婚恋交友系统平台?婚恋app有哪些作用优势?" target="_blank">如何开发成功的婚恋交友系统平台?婚恋app有哪些作用优势?</a>
                        <span class="text-muted"></span>

                        <div>如何快速搭建同城婚恋平台?如果你打算进入婚恋行业,或者已经在运营婚恋公司,那么你一定会发现,搭建一个同城婚恋平台并不是一件容易的事情。不过,别担心,我来给你支几招,帮你快速入局婚恋市场!提供全方位的技术支持首先,你需要一个强大的婚恋系统。这个系统不仅包括公主号、H5网站,还要有红娘办公系统、客户管理和运营管理平台等。我们提供一站式的搭建服务,1对1的技术服务,而且后续的软件更新和升级都是免费的!我</div>
                    </li>
                    <li><a href="/article/1882637161761665024.htm"
                           title="SSL证书代理商申请指南" target="_blank">SSL证书代理商申请指南</a>
                        <span class="text-muted"></span>

                        <div>SSL(SecureSocketsLayer)证书作为保障网站安全的重要工具,市场需求不断增长。成为SSL证书代理商不仅能够为企业带来稳定的收入来源,还能够在多个方面带来显著的好处。一、申请流程:官网链接:https://www.joyssl.com/?nid=191.申请代理资格访问国产SSL证书厂商JoySSL品牌的官方网站,并注册账号。注册时需要填写注册码230919,注册完账号后会有工作人</div>
                    </li>
                    <li><a href="/article/1882622530053795840.htm"
                           title="十分钟精通MinIO:minio的原理、部署、操作" target="_blank">十分钟精通MinIO:minio的原理、部署、操作</a>
                        <span class="text-muted">周盛欢</span>
<a class="tag" taget="_blank" href="/search/minio/1.htm">minio</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/springboot/1.htm">springboot</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                        <div>一、认识MinIOMinio是一个简单易用的云存储服务,就像是一个放在网络上的大文件柜。想象一下,你有一间放满了各种文件的房间,有时候你需要把这些文件分享给朋友或者在不同地方访问它们。Minio就是帮你做到这一点的工具,它让你可以轻松地把文件上传到互联网上,这样无论你在哪里,只要有网络,就能访问或分享这些文件。现在,如果你想要从这个仓库里取出一张图片或一段视频,让网站的访客能看到或者下载,Mini</div>
                    </li>
                    <li><a href="/article/1882619631772954624.htm"
                           title="QT QML交互设计与用户界面" target="_blank">QT QML交互设计与用户界面</a>
                        <span class="text-muted">QT性能优化QT原理源码QT界面美化</span>
<a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/qt6.3/1.htm">qt6.3</a><a class="tag" taget="_blank" href="/search/qt5/1.htm">qt5</a><a class="tag" taget="_blank" href="/search/QT%E6%95%99%E7%A8%8B/1.htm">QT教程</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>QTQML交互设计与用户界面补天云火鸟博客创作软件补天云网站1QT_QML基础与概念1.1理解QML语言及其特点1.1.1理解QML语言及其特点理解QML语言及其特点第五章,理解QML语言及其特点5.1QML的基本概念QML,全称QuickMarkupLanguage(快速标记语言),是Qt中用于创建用户界面的一种元模型描述语言。QML允许开发者通过编写类似于HTML和XML的文本文件来定义用户接</div>
                    </li>
                    <li><a href="/article/1882609164249788416.htm"
                           title="C#连接MySQL操作详解" target="_blank">C#连接MySQL操作详解</a>
                        <span class="text-muted">TechPr</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a>
                        <div>C#连接MySQL操作详解在这篇文章中,我们将详细介绍如何使用C#连接和操作MySQL数据库。我们将提供完整的源代码和相应的描述,以帮助您更好地理解。步骤1:引用MySQLConnector/Net首先,您需要安装并引用MySQLConnector/Net,这是一个官方提供的用于在C#中连接MySQL数据库的库。您可以从MySQL官方网站上下载并安装这个驱动程序,然后在您的项目中添加对MySQLC</div>
                    </li>
                    <li><a href="/article/1882600207540088832.htm"
                           title="解决“400 Bad RequestThe plain HTTP request was sent to HTTPS portnginx/1.23.1”" target="_blank">解决“400 Bad RequestThe plain HTTP request was sent to HTTPS portnginx/1.23.1”</a>
                        <span class="text-muted">zzyh123456</span>
<a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/https/1.htm">https</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a>
                        <div>目录一、问题描述二、问题解决三、问题原因(1)问题成因(2)那为什么访问其他网站的时候,其不会出错呢?而且自己会用https协议?一、问题描述在浏览器直接输入:“www.51969.com:8443”后,报错400BadRequestTheplainHTTPrequestwassenttoHTTPSportnginx/1.23.1二、问题解决在浏览器直接输入:“https://wwwnaquan.</div>
                    </li>
                    <li><a href="/article/1882597306423898112.htm"
                           title="深入解析 GZIP 压缩传输:优化网络性能的利器" target="_blank">深入解析 GZIP 压缩传输:优化网络性能的利器</a>
                        <span class="text-muted">码农阿豪@新空间代码工作室</span>
<a class="tag" taget="_blank" href="/search/%E5%A5%BD%E2%80%9C%E7%89%A9%E2%80%9D%E5%88%86%E4%BA%AB/1.htm">好“物”分享</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>个人名片作者简介:java领域优质创作者个人主页:码农阿豪工作室:新空间代码工作室(提供各种软件服务)个人邮箱:[2435024119@qq.com]个人微信:15279484656个人导航网站:www.forff.top座右铭:总有人要赢。为什么不能是我呢?专栏导航:码农阿豪系列专栏导航面试专栏:收集了java相关高频面试题,面试实战总结️Spring5系列专栏:整理了Spring5重要知识点与</div>
                    </li>
                    <li><a href="/article/1882588850384072704.htm"
                           title="计算广告(一)" target="_blank">计算广告(一)</a>
                        <span class="text-muted">爱学习的菜鸟罢了</span>
<a class="tag" taget="_blank" href="/search/%E6%90%9C%E5%B9%BF%E6%8E%A8/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>计算广告学是一个十分庞大的学科,里面涵盖了自然语言处理、机器学习、推荐系统等众多研究方向。而且广告作为互联网行业的三大盈利模式(广告、电商、游戏)之一,也是这三大模式中最有技术含量的,计算广告学一直都吸引着无数学术界/工业界的精英投入其中(ps:计算广告学也是机器学习在商业界最成功的应用之一)。行业分类例子盈利搜索引擎Google百度广告社交网络腾讯facebook广告增值服务游戏电商网站亚马逊阿</div>
                    </li>
                    <li><a href="/article/1882587338807242752.htm"
                           title="这些可以免费下载3D模型网站,一定要收藏!" target="_blank">这些可以免费下载3D模型网站,一定要收藏!</a>
                        <span class="text-muted">mirrornan</span>
<a class="tag" taget="_blank" href="/search/3D%E6%A8%A1%E5%9E%8B/1.htm">3D模型</a><a class="tag" taget="_blank" href="/search/3d/1.htm">3d</a><a class="tag" taget="_blank" href="/search/3D%E6%A8%A1%E5%9E%8B/1.htm">3D模型</a><a class="tag" taget="_blank" href="/search/%E6%A8%A1%E5%9E%8B%E4%B8%8B%E8%BD%BD/1.htm">模型下载</a>
                        <div>免费下载3D模型可以通过多个途径实现,以下是一些推荐的网站和方法:1、Sketchfab(sketchfab.com)模型资源丰富,涵盖各个类目。可以直接在线查看3D效果,无需插件。很多模型都是免费的,但部分可能需要注册账号后下载。2、Turbosquid(turbosquid.com)模型素材非常全面,分类清晰。提供多种格式的3D文件,如max、fbx、obj、c4d、maya等。需要注册登录后</div>
                    </li>
                    <li><a href="/article/1882583800672743424.htm"
                           title="使用Mojeek Search进行搜索查询" target="_blank">使用Mojeek Search进行搜索查询</a>
                        <span class="text-muted">jkgSFS</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</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/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>在这篇文章中,我们将深入讲解如何使用MojeekSearch进行搜索查询,并展示具体的代码实现。您可以从Mojeek网站获取API密钥,并参照本文提供的示例代码进行实际操作。技术背景介绍Mojeek是一款隐私友好的搜索引擎,致力于提供无追踪的搜索服务。借助MojeekSearchAPI,我们能够在应用程序中集成搜索功能,获取到相关的搜索结果。核心原理解析MojeekSearchAPI允许开发者通过</div>
                    </li>
                    <li><a href="/article/1882574590689996800.htm"
                           title="CSS语言的编程范式" target="_blank">CSS语言的编程范式</a>
                        <span class="text-muted">ByteBlossom666</span>
<a class="tag" taget="_blank" href="/search/%E5%8C%85%E7%BD%97%E4%B8%87%E8%B1%A1/1.htm">包罗万象</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</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/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>CSS语言的编程范式引言随着互联网的发展,网络应用和网站的数量不断增加,前端开发的复杂性也在日益增加。在前端开发中,CSS(层叠样式表)作为一种描述文档外观的语言,扮演着至关重要的角色。虽然CSS语言的设计初心是为HTML文档提供样式和布局,但在实际使用中,它的表达能力与编程范式的结合,使得我们能够以更加高效和灵活的方式来构建用户界面。本文将深入探讨CSS语言的编程范式,分析其基本概念、特点、应用</div>
                    </li>
                    <li><a href="/article/1882571944239362048.htm"
                           title="Nginx 性能优化技巧与实践(一)" target="_blank">Nginx 性能优化技巧与实践(一)</a>
                        <span class="text-muted">计算机毕设定制辅导-无忧学长</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><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/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/dubbo/1.htm">dubbo</a>
                        <div>一、引言在当今数字化时代,Web服务已成为人们生活和工作中不可或缺的一部分。无论是日常浏览的新闻资讯网站,还是便捷的在线购物平台,背后都离不开强大的Web服务器支持。而Nginx,作为一款高性能的HTTP和反向代理服务器,凭借其卓越的性能、丰富的功能和出色的稳定性,在Web服务领域占据了举足轻重的地位。Nginx的诞生,旨在解决传统Web服务器在处理高并发请求时的性能瓶颈问题。它采用了事件驱动的异</div>
                    </li>
                    <li><a href="/article/1882569927085322240.htm"
                           title="SSM 架构中 JAVA 网络直播带货查询系统设计与 JSP 有效实现方法" target="_blank">SSM 架构中 JAVA 网络直播带货查询系统设计与 JSP 有效实现方法</a>
                        <span class="text-muted">2401_85439108</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/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>
                        <div>摘要随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于网络直播带货网站当然也不能排除在外,随着网络技术的不断成熟,带动了网络直播带货网站,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对网络直播带货网站而言非常有利。本系统采用的数据库是Mys</div>
                    </li>
                    <li><a href="/article/1882566287918428160.htm"
                           title="Tailwind CSS—骨架屏生成器" target="_blank">Tailwind CSS—骨架屏生成器</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AFjavascript/1.htm">前端javascript</a>
                        <div>CSS技巧与案例详解vue2与vue3技巧合集VueUse源码解读使用TailwindCSS快速创建现代化的骨架屏,只需要这个简单的工具。我一直在寻找方法,让我的网站更加引人入胜和用户友好。其中最简单而又最有效的方法之一,就是加入骨架加载器——那些灰色的、闪烁的方框,在内容加载时显示。它们帮助用户获得更流畅的体验,让他们觉得网站加载速度比实际快。这些骨架加载器是一个不错的补充,但从零开始设计它们却</div>
                    </li>
                    <li><a href="/article/1882541048165625856.htm"
                           title="基于.net的新闻发布系统的设计与实现" target="_blank">基于.net的新闻发布系统的设计与实现</a>
                        <span class="text-muted">糖果_0812</span>
<a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</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/internet/1.htm">internet</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80/1.htm">语言</a>
                        <div>摘要:随着网络技术的发展和Internet应用的普及,互联网已成为人们获取信息的一个重要途径。而越来越多的企业和单位拥有了自己的新闻发布系统。本文主要运用ASP.NET技术框架基于C#语言制作的一个动态网站,数据库采用SQLServer。实现网站新闻的动态管理,使得对信息的管理更加及时、高效,提高了工作效率。关键词:ASP.NET;C#;新闻发布系统中图分类号:TP311.13文献标识码:A文章编</div>
                    </li>
                    <li><a href="/article/1882533229072805888.htm"
                           title="linux环境下 xampp mysql 启动失败问题排查 日志文件过大占用存储空间导致网站瘫痪..." target="_blank">linux环境下 xampp mysql 启动失败问题排查 日志文件过大占用存储空间导致网站瘫痪...</a>
                        <span class="text-muted">weixin_34166847</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/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>问题现象网站莫名其妙的连接不上mysql了,导致网站瘫痪;没有改任何程序,怎么回事呢?马上用xshell和xftp工具连接linux服务器来排查问题启动xamppmysql/opt/lampp/lamppstartmysql启动xamppmysql![/opt/lampp/bin/mysql.server:line260:kill:(11145)-Nosuchprocess](https://up</div>
                    </li>
                    <li><a href="/article/1882532976860917760.htm"
                           title="android 地铁地图api,利用高德地图api绘制公交+地铁的等时圈" target="_blank">android 地铁地图api,利用高德地图api绘制公交+地铁的等时圈</a>
                        <span class="text-muted">中本姜</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%9C%B0%E9%93%81%E5%9C%B0%E5%9B%BEapi/1.htm">地铁地图api</a>
                        <div>等时圈是指从某点出发,以某种交通方式在特定时间内能到达的距离覆盖的范围,在可达性分析中十分常见。原本我们需要将地图栅格化不停地调用路径规划api来获得等时圈,现在已经有网站为我们做好了这些工作,比如https://docs.mapbox.com/playground/isochrone/。我们只需要选择交通方式(步行、骑行和驾车),和需要绘制的时间即可,但是比较遗憾的是无法获取公交(地铁/地铁+公</div>
                    </li>
                    <li><a href="/article/1882532219247980544.htm"
                           title="高级红色西餐美食企业网站模板" target="_blank">高级红色西餐美食企业网站模板</a>
                        <span class="text-muted">酸甜草莓二侠</span>

                        <div>本文还有配套的精品资源,点击获取简介:这是一个专为西餐美食企业设计的网站模板,以红色为主色调,通过专业且美观的设计吸引顾客。模板包含多个页面布局,如首页、菜单页、关于我们、联系我们等,以展示企业品牌和菜品信息。具有响应式设计,兼容多种设备。模板附带安装和使用指南,用户可根据需求进行定制。1.西餐美食企业网站模板概述简介在当今数字化时代,企业官网是品牌身份的重要展现形式,对于西餐美食企业尤为如此。一</div>
                    </li>
                    <li><a href="/article/1882523009986654208.htm"
                           title="Avada 使用教程:从基础到进阶的全面指南" target="_blank">Avada 使用教程:从基础到进阶的全面指南</a>
                        <span class="text-muted">专业WP网站开发-Joyous</span>
<a class="tag" taget="_blank" href="/search/Wordpress/1.htm">Wordpress</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>概述在WordPress世界中,选择一个合适的主题对网站的成功至关重要。Avada是其中最受欢迎的选项之一,不仅因为其销售量,更因其功能强大、定制性强和用户友好性。无论你是初学者还是专业的网页开发者,Avada都提供了你所需的工具来构建你心中的网站。本文将详细介绍如何从基础到进阶地使用Avada,为你提供一个超过5000字的全方位指南。第一步:购买与安装购买Avada选择平台:Avada可以在Th</div>
                    </li>
                    <li><a href="/article/1882489857075376128.htm"
                           title="Git的下载与安装及常用命令" target="_blank">Git的下载与安装及常用命令</a>
                        <span class="text-muted">小宝哥Code</span>
<a class="tag" taget="_blank" href="/search/Unity%E5%BC%95%E6%93%8E/1.htm">Unity引擎</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a>
                        <div>Git的下载与安装指南Git是目前广泛使用的分布式版本控制系统,适用于代码管理和团队协作。以下是Git的下载与安装步骤。一、Git下载1.官方网站下载访问Git官方网站下载页面:GitDownloads,选择适合您操作系统的版本。2.选择操作系统Windows:点击下载Windows版本。MacOS:点击下载MacOS版本。Linux/Unix:根据发行版选择包管理器安装。二、Git安装1.Win</div>
                    </li>
                    <li><a href="/article/1882487080118972416.htm"
                           title="华为HCIE-Security认证考试流程、考试内容" target="_blank">华为HCIE-Security认证考试流程、考试内容</a>
                        <span class="text-muted">GZ_TOGOGO</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</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>
                        <div>【HCIE-Security认证介绍】HCIE-Security(华为认证安全专家)是华为认证体系中的专家级安全认证,专注于培养和认证具备企业信息安全解决方案整体的设计、部署和运维综合能力的专家级人才。【HCIE-Security认证考试流程】①注册华为账号:如果考生没有华为账号,需要先在华为官网注册。②预约考试:通过华为官方“人才在线”网站进行考试预约,并补充完整的个人信息。③支付考试费用:考生</div>
                    </li>
                    <li><a href="/article/1882484179451572224.htm"
                           title="大模型GUI系列论文阅读 DAY3:《GPT-4V(ision) is a Generalist Web Agent, if Grounded》" target="_blank">大模型GUI系列论文阅读 DAY3:《GPT-4V(ision) is a Generalist Web Agent, if Grounded》</a>
                        <span class="text-muted">feifeikon</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BA%E6%96%87%E9%98%85%E8%AF%BB/1.htm">论文阅读</a>
                        <div>摘要近年来,大型多模态模型(LMMs)的发展,特别是GPT-4V(ision)和Gemini,迅速扩展了多模态模型的能力边界,不再局限于传统任务如图像描述和视觉问答。在本研究中,我们探讨了LMMs(如GPT-4V)作为通用网页代理的潜力,这类代理能够根据自然语言指令完成任意网站上的任务。我们提出了SEEACT,这是一种通用网页代理,利用LMMs的视觉理解能力,实现网页上的操作。我们在最新的MIND</div>
                    </li>
                    <li><a href="/article/1882471069701435392.htm"
                           title="Linux 使用 docker 安装 Nginx 代理服务器" target="_blank">Linux 使用 docker 安装 Nginx 代理服务器</a>
                        <span class="text-muted">liupeng_blog</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/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                        <div>文章目录个人知识库Nginx简介环境要求一.新建文件目录1.1.新建docker-compose.yml1.2.编写docker-compose.yml二.文件赋权限三、新建nginx.conf四.启动容器4.1.启动并下载镜像4.2.停止并删除容器五.访问Nginx六.DockerHub官网更多知识平台个人知识库云网站:http://www.liupeng.cloud语雀:https://www</div>
                    </li>
                                <li><a href="/article/118.htm"
                                       title="异常的核心类Throwable" target="_blank">异常的核心类Throwable</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%BA%90%E7%A0%81/1.htm">源码</a><a class="tag" taget="_blank" href="/search/%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86/1.htm">异常处理</a><a class="tag" taget="_blank" href="/search/exception/1.htm">exception</a>
                                    <div>java异常的核心是Throwable,其他的如Error和Exception都是继承的这个类 里面有个核心参数是detailMessage,记录异常信息,getMessage核心方法,获取这个参数的值,我们可以自己定义自己的异常类,去继承这个Exception就可以了,方法基本上,用父类的构造方法就OK,所以这么看异常是不是很easy 
 
 
 
package com.natsu;


</div>
                                </li>
                                <li><a href="/article/245.htm"
                                       title="mongoDB 游标(cursor) 实现分页 迭代" target="_blank">mongoDB 游标(cursor) 实现分页 迭代</a>
                                    <span class="text-muted">开窍的石头</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                                    <div>上篇中我们讲了mongoDB 中的查询函数,现在我们讲mongo中如何做分页查询 
 
     如何声明一个游标 
       var mycursor = db.user.find({_id:{$lte:5}}); 
      迭代显示游标数</div>
                                </li>
                                <li><a href="/article/372.htm"
                                       title="MySQL数据库INNODB 表损坏修复处理过程" target="_blank">MySQL数据库INNODB 表损坏修复处理过程</a>
                                    <span class="text-muted">0624chenhong</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>最近mysql数据库经常死掉,用命令net stop mysql命令也无法停掉,关闭Tomcat的时候,出现Waiting for N instance(s) to be deallocated 信息。查了下,大概就是程序没有对数据库连接释放,导致Connection泄露了。因为用的是开元集成的平台,内部程序也不可能一下子给改掉的,就验证一下咯。启动Tomcat,用户登录系统,用netstat -</div>
                                </li>
                                <li><a href="/article/499.htm"
                                       title="剖析如何与设计人员沟通" target="_blank">剖析如何与设计人员沟通</a>
                                    <span class="text-muted">不懂事的小屁孩</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a>
                                    <div>最近做图烦死了,不停的改图,改图……。烦,倒不是因为改,而是反反复复的改,人都会死。很多需求人员不知该如何与设计人员沟通,不明白如何使设计人员知道他所要的效果,结果只能是沟通变成了扯淡,改图变成了应付。 
 
那应该如何与设计人员沟通呢? 
 
我认为设计人员与需求人员先天就存在语言障碍。对一个合格的设计人员来说,整天玩的都是点、线、面、配色,哪种构图看起来协调;哪种配色看起来合理心里跟明镜似的,</div>
                                </li>
                                <li><a href="/article/626.htm"
                                       title="qq空间刷评论工具" target="_blank">qq空间刷评论工具</a>
                                    <span class="text-muted">换个号韩国红果果</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                                    <div>

var a=document.getElementsByClassName('textinput');
					var b=[];
					for(var m=0;m<a.length;m++){
						if(a[m].getAttribute('placeholder')!=null)
							b.push(a[m])
					}
					var l</div>
                                </li>
                                <li><a href="/article/753.htm"
                                       title="S2SH整合之session" target="_blank">S2SH整合之session</a>
                                    <span class="text-muted">灵静志远</span>
<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/struts/1.htm">struts</a><a class="tag" taget="_blank" href="/search/session/1.htm">session</a>
                                    <div>错误信息: 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cartService': Scope 'session' is not active for the current thread; consider defining a scoped</div>
                                </li>
                                <li><a href="/article/880.htm"
                                       title="xmp标签" target="_blank">xmp标签</a>
                                    <span class="text-muted">a-john</span>
<a class="tag" taget="_blank" href="/search/%E6%A0%87%E7%AD%BE/1.htm">标签</a>
                                    <div>今天在处理数据的显示上遇到一个问题: 
var html = '<li><div class="pl-nr"><span class="user-name">' + user
           + '</span>' + text + '</div></li>';
ulComme</div>
                                </li>
                                <li><a href="/article/1007.htm"
                                       title="Ajax的常用技巧(2)---实现Web页面中的级联菜单" target="_blank">Ajax的常用技巧(2)---实现Web页面中的级联菜单</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a>
                                    <div>在网络上显示数据,往往只显示数据中的一部分信息,如文章标题,产品名称等。如果浏览器要查看所有信息,只需点击相关链接即可。在web技术中,可以采用级联菜单完成上述操作。根据用户的选择,动态展开,并显示出对应选项子菜单的内容。 在传统的web实现方式中,一般是在页面初始化时动态获取到服务端数据库中对应的所有子菜单中的信息,放置到页面中对应的位置,然后再结合CSS层叠样式表动态控制对应子菜单的显示或者隐</div>
                                </li>
                                <li><a href="/article/1134.htm"
                                       title="天-安-门,好高" target="_blank">天-安-门,好高</a>
                                    <span class="text-muted">atongyeye</span>
<a class="tag" taget="_blank" href="/search/%E6%83%85%E6%84%9F/1.htm">情感</a>
                                    <div>    我是85后,北漂一族,之前房租1100,因为租房合同到期,再续,房租就要涨150。最近网上新闻,地铁也要涨价。算了一下,涨价之后,每次坐地铁由原来2块变成6块。仅坐地铁费用,一个月就要涨200。内心苦痛。 
 
    晚上躺在床上一个人想了很久,很久。 
   
    我生在农</div>
                                </li>
                                <li><a href="/article/1261.htm"
                                       title="android 动画" target="_blank">android 动画</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E9%80%8F%E6%98%8E%E5%BA%A6/1.htm">透明度</a><a class="tag" taget="_blank" href="/search/%E5%B9%B3%E7%A7%BB/1.htm">平移</a><a class="tag" taget="_blank" href="/search/%E7%BC%A9%E6%94%BE/1.htm">缩放</a><a class="tag" taget="_blank" href="/search/%E6%97%8B%E8%BD%AC/1.htm">旋转</a>
                                    <div>android的动画有两种  tween动画和Frame动画 
  
tween动画;,透明度,缩放,旋转,平移效果 
  
Animation   动画 
AlphaAnimation 渐变透明度 
RotateAnimation 画面旋转 
ScaleAnimation 渐变尺寸缩放 
TranslateAnimation 位置移动 
Animation</div>
                                </li>
                                <li><a href="/article/1388.htm"
                                       title="查看本机网络信息的cmd脚本" target="_blank">查看本机网络信息的cmd脚本</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/cmd/1.htm">cmd</a>
                                    <div>@echo 您的用户名是:%USERDOMAIN%\%username%>"%userprofile%\网络参数.txt"
@echo 您的机器名是:%COMPUTERNAME%>>"%userprofile%\网络参数.txt"
@echo ___________________>>"%userprofile%\</div>
                                </li>
                                <li><a href="/article/1515.htm"
                                       title="plsql 清除登录过的用户" target="_blank">plsql 清除登录过的用户</a>
                                    <span class="text-muted">征客丶</span>
<a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a>
                                    <div>tools---preferences----logon history---history  把你想要删除的删除 
 
 
-------------------------------------------------------------------- 
若有其他凝问或文中有错误,请及时向我指出, 
我好及时改正,同时也让我们一起进步。 
email : binary_spac</div>
                                </li>
                                <li><a href="/article/1642.htm"
                                       title="【Pig一】Pig入门" target="_blank">【Pig一】Pig入门</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/pig/1.htm">pig</a>
                                    <div>Pig安装 
1.下载pig 
  
wget http://mirror.bit.edu.cn/apache/pig/pig-0.14.0/pig-0.14.0.tar.gz 
  
2. 解压配置环境变量 
  
   如果Pig使用Map/Reduce模式,那么需要在环境变量中,配置HADOOP_HOME环境变量 
  
expor</div>
                                </li>
                                <li><a href="/article/1769.htm"
                                       title="Java 线程同步几种方式" target="_blank">Java 线程同步几种方式</a>
                                    <span class="text-muted">BlueSkator</span>
<a class="tag" taget="_blank" href="/search/volatile/1.htm">volatile</a><a class="tag" taget="_blank" href="/search/synchronized/1.htm">synchronized</a><a class="tag" taget="_blank" href="/search/ThredLocal/1.htm">ThredLocal</a><a class="tag" taget="_blank" href="/search/ReenTranLock/1.htm">ReenTranLock</a><a class="tag" taget="_blank" href="/search/Concurrent/1.htm">Concurrent</a>
                                    <div>为何要使用同步?       java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),        将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,        从而保证了该变量的唯一性和准确性。    1.同步方法&</div>
                                </li>
                                <li><a href="/article/1896.htm"
                                       title="StringUtils判断字符串是否为空的方法(转帖)" target="_blank">StringUtils判断字符串是否为空的方法(转帖)</a>
                                    <span class="text-muted">BreakingBad</span>
<a class="tag" taget="_blank" href="/search/null/1.htm">null</a><a class="tag" taget="_blank" href="/search/StringUtils/1.htm">StringUtils</a><a class="tag" taget="_blank" href="/search/%E2%80%9C%E2%80%9D/1.htm">“”</a>
                                    <div>转帖地址:http://www.cnblogs.com/shangxiaofei/p/4313111.html 
  
public static boolean isEmpty(String str)      
  判断某字符串是否为空,为空的标准是 str== 
null  
或 str.length()== 
0    </div>
                                </li>
                                <li><a href="/article/2023.htm"
                                       title="编程之美-分层遍历二叉树" target="_blank">编程之美-分层遍历二叉树</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/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a>
                                    <div>

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class LevelTraverseBinaryTree {

    /**
     * 编程之美 分层遍历二叉树
     * 之前已经用队列实现过二叉树的层次遍历,但这次要求输出换行,因此要</div>
                                </li>
                                <li><a href="/article/2150.htm"
                                       title="jquery取值和ajax提交复习记录" target="_blank">jquery取值和ajax提交复习记录</a>
                                    <span class="text-muted">chengxuyuancsdn</span>
<a class="tag" taget="_blank" href="/search/jquery%E5%8F%96%E5%80%BC/1.htm">jquery取值</a><a class="tag" taget="_blank" href="/search/ajax%E6%8F%90%E4%BA%A4/1.htm">ajax提交</a>
                                    <div>
// 取值
	// alert($("input[name='username']").val());
	// alert($("input[name='password']").val());
	// alert($("input[name='sex']:checked").val());
	// alert($("</div>
                                </li>
                                <li><a href="/article/2277.htm"
                                       title="推荐国产工作流引擎嵌入式公式语法解析器-IK Expression" target="_blank">推荐国产工作流引擎嵌入式公式语法解析器-IK Expression</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/Excel/1.htm">Excel</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a>
                                    <div>这个开源软件包是国内的一位高手自行研制开发的,正如他所说的一样,我觉得它可以使一个工作流引擎上一个台阶。。。。。。欢迎大家使用,并提出意见和建议。。。 
----------转帖--------------------------------------------------- 
 IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言</div>
                                </li>
                                <li><a href="/article/2404.htm"
                                       title="关于系统中使用多个PropertyPlaceholderConfigurer的配置及PropertyOverrideConfigurer" target="_blank">关于系统中使用多个PropertyPlaceholderConfigurer的配置及PropertyOverrideConfigurer</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>1、PropertyPlaceholderConfigurer 
Spring中PropertyPlaceholderConfigurer这个类,它是用来解析Java Properties属性文件值,并提供在spring配置期间替换使用属性值。接下来让我们逐渐的深入其配置。 
 
基本的使用方法是:(1) 
 
<bean id="propertyConfigurerForWZ&q</div>
                                </li>
                                <li><a href="/article/2531.htm"
                                       title="二叉树:二叉搜索树" target="_blank">二叉树:二叉搜索树</a>
                                    <span class="text-muted">dieslrae</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%8F%89%E6%A0%91/1.htm">二叉树</a>
                                    <div>    所谓二叉树,就是一个节点最多只能有两个子节点,而二叉搜索树就是一个经典并简单的二叉树.规则是一个节点的左子节点一定比自己小,右子节点一定大于等于自己(当然也可以反过来).在树基本平衡的时候插入,搜索和删除速度都很快,时间复杂度为O(logN).但是,如果插入的是有序的数据,那效率就会变成O(N),在这个时候,树其实变成了一个链表. 
 
tree代码: 
 
</div>
                                </li>
                                <li><a href="/article/2658.htm"
                                       title="C语言字符串函数大全" target="_blank">C语言字符串函数大全</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/function/1.htm">function</a>
                                    <div>C语言字符串函数大全 
  
  
函数名: stpcpy 
功 能: 拷贝一个字符串到另一个 
用 法: char *stpcpy(char *destin, char *source); 
程序例: 
  
#include <stdio.h> 
#include <string.h> 
  
int main</div>
                                </li>
                                <li><a href="/article/2785.htm"
                                       title="友盟统计页面技巧" target="_blank">友盟统计页面技巧</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E6%8A%80%E5%B7%A7/1.htm">技巧</a>
                                    <div>在基类调用就可以了, 基类ViewController示例代码 
-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [MobClick beginLogPageView:[NSString stringWithFormat:@"%@",self.class]];
</div>
                                </li>
                                <li><a href="/article/2912.htm"
                                       title="window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法" target="_blank">window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法</a>
                                    <span class="text-muted">flyvszhb</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a>
                                    <div>window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 
 
本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 
 安装jdk1.6前,执行java -version得到 
C:\Users\liuxiang2>java -version 
java version "1.7.0_21&quo</div>
                                </li>
                                <li><a href="/article/3039.htm"
                                       title="Java在创建子类对象的同时会不会创建父类对象" target="_blank">Java在创建子类对象的同时会不会创建父类对象</a>
                                    <span class="text-muted">happyqing</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%88%9B%E5%BB%BA/1.htm">创建</a><a class="tag" taget="_blank" href="/search/%E5%AD%90%E7%B1%BB%E5%AF%B9%E8%B1%A1/1.htm">子类对象</a><a class="tag" taget="_blank" href="/search/%E7%88%B6%E7%B1%BB%E5%AF%B9%E8%B1%A1/1.htm">父类对象</a>
                                    <div>  
1.在thingking in java 的第四版第六章中明确的说了,子类对象中封装了父类对象, 
  
2."When you create an object of the derived class, it contains within it a subobject of the base class. This subobject is the sam</div>
                                </li>
                                <li><a href="/article/3166.htm"
                                       title="跟我学spring3 目录贴及电子书下载" target="_blank">跟我学spring3 目录贴及电子书下载</a>
                                    <span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>  
  一、《跟我学spring3》电子书下载地址: 
《跟我学spring3》  (1-7 和 8-13) http://jinnianshilongnian.iteye.com/blog/pdf   
  
跟我学spring3系列 word原版 下载 
  
  二、
源代码下载  
最新依</div>
                                </li>
                                <li><a href="/article/3420.htm"
                                       title="第12章 Ajax(上)" target="_blank">第12章 Ajax(上)</a>
                                    <span class="text-muted">onestopweb</span>
<a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a>
                                    <div>index.html 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/</div>
                                </li>
                                <li><a href="/article/3547.htm"
                                       title="BI and EIM 4.0 at a glance" target="_blank">BI and EIM 4.0 at a glance</a>
                                    <span class="text-muted">blueoxygen</span>
<a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a>
                                    <div>http://www.sap.com/corporate-en/press.epx?PressID=14787 
  
有机会研究下EIM家族的两个新产品~~~~ 
  
New features of the 4.0 releases of BI and EIM solutions include:  
 
  Real-time in-memory computing – </div>
                                </li>
                                <li><a href="/article/3674.htm"
                                       title="Java线程中yield与join方法的区别" target="_blank">Java线程中yield与join方法的区别</a>
                                    <span class="text-muted">tomcat_oracle</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。 
&nb</div>
                                </li>
                                <li><a href="/article/3801.htm"
                                       title="android Manifest.xml选项" target="_blank">android Manifest.xml选项</a>
                                    <span class="text-muted">阿尔萨斯</span>
<a class="tag" taget="_blank" href="/search/Manifest/1.htm">Manifest</a>
                                    <div>结构 
继承关系 
public final class Manifest extends Objectjava.lang.Objectandroid.Manifest 
内部类 
 
 
 class Manifest.permission权限 
 class Manifest.permission_group权限组 
 构造函数 
 
public Manifest () 详细  androi</div>
                                </li>
                                <li><a href="/article/3928.htm"
                                       title="Oracle实现类split函数的方" target="_blank">Oracle实现类split函数的方</a>
                                    <span class="text-muted">zhaoshijie</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a>
                                    <div>关键字:Oracle实现类split函数的方 
项目里需要保存结构数据,批量传到后他进行保存,为了减小数据量,子集拼装的格式,使用存储过程进行保存。保存的过程中需要对数据解析。但是oracle没有Java中split类似的函数。从网上找了一个,也补全了一下。 
 
CREATE OR REPLACE TYPE t_split_100 IS TABLE OF VARCHAR2(100); 
 
cr</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>