“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取

目 录

  1. 挖掘目标
  2. 全文脉络图
  3. 爬虫技术简介
    3.1. 爬虫简介
    3.2. 正则表达式介绍
  4. 具体步骤
    4.1. 解题思路
    4.2. 提取主题帖
    4.3. 提取回帖
  5. 效果展示
    5.1. 哇哈体育论坛爬虫结果
    5.2. 新浪论坛爬虫结果
    5.3. 天涯论坛爬虫结果
  6. 参考文献

1. 挖掘目标

在当今的大数据时代里,伴随着互联网和移动互联网的高速发展, 人们产生的数据总量呈现急剧增长的趋势,当前大约每六个月互联网中产生的数据总量就会翻一番。互联网产生的海量数据中蕴含着大量的信息, 已成为政府和企业的一个重要数据来源,互联网数据处理也已成为一个有重大需求的热门行业。 借助网络爬虫技术,我们能够快速从互联网中获取海量的公开网页数据,对这些数据进行分析和挖掘,从中提取出有价值的信息,能帮助并指导我们进行商业决策、舆论分析、社会调查、政策制定等工作。但是,大部分网页数据是以半结构化的数据格式呈现的,我们需要的信息在页面上往往淹没在大量的广告、图标、链接等。

能够实现:
对于任意 BBS 类型的网页, 获取其 HTML 文本内容,设计一个智能提取该页面的主贴、所有回帖的算法。提取主贴和回帖的区域,提取出相应数据字段 (只需要提取文本, 图片、视频、音乐等媒体可以直接忽略),并按规定的数据格式(Json 格式)存储。

2. 全文脉络图

本次网页爬虫主要流程如下:
“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第1张图片

图 1 全文脉络图

3. 爬虫技术简介

3.1. 爬虫简介

网络爬虫是一个自动提取网页的程序,它为搜索引擎从网页上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的 URL 开始,获得初始网页上的 URL,在抓取网页的过程中,不断从当前页面上抽取新的 URL 放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的 URL 队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页 URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

网络爬虫分为以下几种类型通用网络爬虫(General Purpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、增量式网络爬虫(Incremental Web Crawler)、深层网络爬虫(Deep Web Crawler)。本文所设计的算法即是通用网络爬虫,针对所有论坛,可以爬虫到帖子的作者,发帖时间,发帖内容,回帖作者,回帖时间以及回帖内容。

3.2. 正则表达式介绍

正则表达式的“鼻祖”或许可一直追溯到科学家对人类神经系统工作原理的早期研究。美国新泽西州的 Warren McCulloch 和出生在美国底特律的 Walter Pitts 这两位神经生理方面的科学家,研究出了一种用数学方式来描述神经网络的新方法,他们创造性地将神经系统中的神经元描述成了小而简单的自动控制元,从而作出了一项伟大的工作革新。

经过一系列发展,正则表达式在各种计算机语言或各种应用领域得到了广大的应用和发展,演变成为计算机技术森林中的必不可少的应用工具。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:对于给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);以及可以通过正则表达式,从字符串中获取我们想要的特定部分。

正则表达式的特点是:灵活性、逻辑性和功能性非常的强;可以迅速地用极简单的方式达到字符串的复杂控制。对于刚接触的人来说,比较晦涩难懂。

并且由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器 EditPlus,大到 Microsoft Word、Visual Studio 等大型编辑器,都可以使用正则表达式来处理文本内容。

4. 具体步骤

4.1. 解题思路

题目要求给出各类论坛的通用爬虫,由于论坛建设者的英文标签起名多样化,细节的结构复杂,传统爬虫根据标签的爬取方法不再适用。为设计通用爬虫,首先应该找到对象的共性。对于论坛网站,常见规律分析如下:

1.呈现给读者的文字顺序通常是有规律可循的,如:标题,会出现在时间,作者,正文之前,且通常不会太远;
2.中文的一些命名习惯常常是通用的,如:注册,登录,积分,举报,回复,等等噪声词汇;
3.时间通常会精确到分钟甚至到秒,且时间的格式较为统一;
4.大多数带有超链接的文字通常不会是正文,可以进一步的去除噪声;
5.统一论坛的不同作者空间,其 url 通常是有很多重叠部分。
6.回帖楼层的布局通常是相似的。
基于以上规律,本文提供的算法将通过楼层的相似性分析定位楼层,以过滤噪声词汇的方式找到部分有效信息,对比其在 dom 树中的位置进而精确定位有效信息。对于无回复贴的情况,将需要结合标题,作者,时间,正文的位置规律,结合 dom 树的结构,更好的过滤掉噪声信息。

算法的核心是过滤噪声信息,从而通过部分有效信息精确定位。为次,我们将论坛的帖子大致分为两种类型,了解其噪声信息分布,针对性的去燥。一种是作者及帖子的正文分为左右两边即由左至右,一种是作者及帖子的内容为由上至下的内容。针对这两种论坛的结构设计了相应的算法,可以自动区分论坛结构进行相应的爬取。

“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第2张图片

图 2 论坛结构为由上至下

“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第3张图片

图 3 论坛结构为由左至右

对于回复较多的帖子,本文通过相似性分析,寻找结构相似的节点,精确定位楼层以及所需要的信息,并给予一些强验证规则,若验证失败、未找到相似性或没有回复时,则通过噪声过滤法获得所需内容。

本文对论坛帖子作者的发帖时间进行提取,之后提取作者,正文,以及 回帖内容。看似简简单单地一步步流程,但是在考虑每一步时均会出现噪声内容的干扰,在提取有效信息时,我们建立了标志词库和噪声词库并根据论坛语言习惯,设计了很多删除以及截取规则等等。下面的开始,详细地向各位展示我们的程序思路。

4.2. 提取主题帖

4.2.1. 提取标题

大家进去论坛,首先是被论坛的帖子所吸引,所以爬虫帖子的信息也是从论坛帖子的标题开始的。一般论坛标题的位置是在源代码标签 < h e a d > <head>下的 < t i t l e > </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.5782em; vertical-align: -0.0391em;"></span><span class="mrel"><</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.0391em;"></span><span class="mord mathdefault">t</span><span class="mord mathdefault">i</span><span class="mord mathdefault">t</span><span class="mord mathdefault" style="margin-right: 0.01968em;">l</span><span class="mord mathdefault">e</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">></span></span></span></span></span>,但是不全是标题文字,还会包含其他论坛信息比如一个社区帖子标题 分类以及论坛名字,但是这几部分内容大多是以相同的分隔符区分开,多是 “-”、“|”、“_”。一般首先出现的是标题,所以第一个分隔符前的是标题,这是寻找标题的第一种方法。若此方法失效,一般能完 成 90%以上的标题提取。则算法自动运行第二段程序。</p> <p><a href="http://img.e-com-net.com/image/info8/9a8d1923f18a48eea5ab3ef220c946c4.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/9a8d1923f18a48eea5ab3ef220c946c4.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第4张图片" width="650" height="174" style="border:1px solid black;"></a><br> <mark></mark></p> <center> 图 4 算法一标题源代码位置展示 </center> <p></p> <p>第二段算法主要是,建立标题特征词库,如:{“标题”, “主题”, “题目”}寻 找<span class="katex--inline"><span class="katex"><span class="katex-mathml"> < b o d y > <body> </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.5782em; vertical-align: -0.0391em;"></span><span class="mrel"><</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.88888em; vertical-align: -0.19444em;"></span><span class="mord mathdefault">b</span><span class="mord mathdefault">o</span><span class="mord mathdefault">d</span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">></span></span></span></span></span>标签下的<span class="katex--inline"><span class="katex"><span class="katex-mathml"> < h 1 > , < h 2 > , < h 3 > < t i t l e > <h1>,<h2>,<h3><title> </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.5782em; vertical-align: -0.0391em;"></span><span class="mrel"><</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.0391em;"></span><span class="mord mathdefault">h</span><span class="mord">1</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.19444em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel"><</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.0391em;"></span><span class="mord mathdefault">h</span><span class="mord">2</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.19444em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel"><</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.0391em;"></span><span class="mord mathdefault">h</span><span class="mord">3</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">></span></span><span class="base"><span class="strut" style="height: 0.5782em; vertical-align: -0.0391em;"></span><span class="mrel"><</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.0391em;"></span><span class="mord mathdefault">t</span><span class="mord mathdefault">i</span><span class="mord mathdefault">t</span><span class="mord mathdefault" style="margin-right: 0.01968em;">l</span><span class="mord mathdefault">e</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">></span></span></span></span></span>中非空文本的标签,用正则表达式判断标签<span class="katex--inline"><span class="katex"><span class="katex-mathml"> < h 1 > , < h 2 > , < h 3 > < t i t l e > <h1>,<h2>,<h3><title> </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.5782em; vertical-align: -0.0391em;"></span><span class="mrel"><</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.0391em;"></span><span class="mord mathdefault">h</span><span class="mord">1</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.19444em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel"><</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.0391em;"></span><span class="mord mathdefault">h</span><span class="mord">2</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.19444em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel"><</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.0391em;"></span><span class="mord mathdefault">h</span><span class="mord">3</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">></span></span><span class="base"><span class="strut" style="height: 0.5782em; vertical-align: -0.0391em;"></span><span class="mrel"><</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.73354em; vertical-align: -0.0391em;"></span><span class="mord mathdefault">t</span><span class="mord mathdefault">i</span><span class="mord mathdefault">t</span><span class="mord mathdefault" style="margin-right: 0.01968em;">l</span><span class="mord mathdefault">e</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">></span></span></span></span></span>的文本是否包含标题特征词库中的词,如果包含,取出该特征词所在文本之后的文本,如果寻找特征词寻找失败,则返回第一个匹配到的长文本串,因为大多论坛标题均在开始位置出现。</p> <p><a href="http://img.e-com-net.com/image/info8/8ad02f8cd3d74f128dc47f7890fd7b0b.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/8ad02f8cd3d74f128dc47f7890fd7b0b.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第5张图片" width="650" height="139" style="border:1px solid black;"></a><br> <mark></mark></p> <center> 图 5 算法二标题源代码位置展示 </center> <p></p> <h3>4.2.2. 提取时间</h3> <p>论坛的新闻热度是靠发帖时间来判断的,通常越流行的事物发帖时间越靠近现在的时间点,而一件事情过去很久,贴子的热度仍旧不散说明这件事情很有研究价值。所以发帖时间的提取是至关重要的。首先删除源代码的空白字符。大多数论坛的时间表示均遵循一定规律:XXXX-XX-XX XX-XX-XX 或 X 天(小时,分钟)前,<br> 所以可以使用正则表达式:</p> <p><span class="katex--inline"><span class="katex"><span class="katex-mathml"> [ 0 − 9 ] { 2 , 4 } [ − 年 / ] [ 0 − 9 ] { 1 , 2 } [ − 月 / ] [ 0 − 9 ] { 1 , 2 } 日 ∗ [ 0 − 9 ] { 1 , 2 } : [ 0 − 9 ] { 1 , 2 } : ∗ [ 0 − 9 ] { 0 , 2 } [ 今 昨 前 1 − 9 ] ∗ [ 天 小 分 ] [ 时 钟 ] ∗ 前 ∗ ∗ [ 0 − 9 ] { 0 , 2 } : ∗ [ 0 − 9 ] { 0 , 2 } : ∗ [ 0 − 9 ] { 0 , 2 } [0-9]\{2,4\}[-年/][0-9]\{1,2\}[-月/][0-9]\{1,2\}日*[0-9]\{1,2\}:[0-9]\{1,2\}:*[0-9]\{0,2\} [今昨前 1-9] *[天小分][时钟]*前* *[0-9]\{0,2\}:*[0-9]\{0,2\}:*[0-9]\{0,2\} </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">[</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">9</span><span class="mclose">]</span><span class="mopen">{ </span><span class="mord">2</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord">4</span><span class="mclose">}</span><span class="mopen">[</span><span class="mord">−</span><span class="mord cjk_fallback">年</span><span class="mord">/</span><span class="mclose">]</span><span class="mopen">[</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">9</span><span class="mclose">]</span><span class="mopen">{ </span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord">2</span><span class="mclose">}</span><span class="mopen">[</span><span class="mord">−</span><span class="mord cjk_fallback">月</span><span class="mord">/</span><span class="mclose">]</span><span class="mopen">[</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">9</span><span class="mclose">]</span><span class="mopen">{ </span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord">2</span><span class="mclose">}</span><span class="mord cjk_fallback">日</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">∗</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">[</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">9</span><span class="mclose">]</span><span class="mopen">{ </span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord">2</span><span class="mclose">}</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">[</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">9</span><span class="mclose">]</span><span class="mopen">{ </span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord">2</span><span class="mclose">}</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">∗</span><span class="mopen">[</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">9</span><span class="mclose">]</span><span class="mopen">{ </span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord">2</span><span class="mclose">}</span><span class="mopen">[</span><span class="mord cjk_fallback">今</span><span class="mord cjk_fallback">昨</span><span class="mord cjk_fallback">前</span><span class="mord">1</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">9</span><span class="mclose">]</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">∗</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mopen">[</span><span class="mord cjk_fallback">天</span><span class="mord cjk_fallback">小</span><span class="mord cjk_fallback">分</span><span class="mclose">]</span><span class="mopen">[</span><span class="mord cjk_fallback">时</span><span class="mord cjk_fallback">钟</span><span class="mclose">]</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">∗</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.46528em; vertical-align: 0em;"></span><span class="mord cjk_fallback">前</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">∗</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">∗</span><span class="mopen">[</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">9</span><span class="mclose">]</span><span class="mopen">{ </span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord">2</span><span class="mclose">}</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">∗</span><span class="mopen">[</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">9</span><span class="mclose">]</span><span class="mopen">{ </span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord">2</span><span class="mclose">}</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">:</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">∗</span><span class="mopen">[</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord">9</span><span class="mclose">]</span><span class="mopen">{ </span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord">2</span><span class="mclose">}</span></span></span></span></span></p> <p>匹配时间,但是所有出现的时间并不一定是发帖时间,还可能出现用户登录时间,注册时间,更新时间等噪声。所以需要建立时间特征噪声词典,出现在词典中的字符串均属于时间噪声数据,通过词典过滤匹配到的第一个时间即为帖子发帖时间。</p> <h3>4.2.3. 提取作者</h3> <p>作者的提取主要依据三种方法:标签特征法、作者 url 特征法、噪声过滤法。</p> <p>标签特征法:发帖人的英文通常会用 author 和 username。因此我们优先寻找标签名或属性包含正则表达式^ auth| ^us<em>e</em>r*_*name 的标签,提取其文本内容,这样提取出的作者通常是准确的,我们通过超对比作者超链接的方式,进一步验证提取到的准确性。</p> <p><a href="http://img.e-com-net.com/image/info8/467df0fd74be472baa185aa737ce62fd.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/467df0fd74be472baa185aa737ce62fd.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第6张图片" width="650" height="329" style="border:1px solid black;"></a><br> <mark></mark></p> <center> 图 6 回复帖作者超链接网址相似展示图 </center> <p></p> <p>url 特征法:通常情况下,论坛设计者为了游客更好的了解作者,会将作者名设置为一个指向其论坛空间的超链接,而对于不同的作者,他们的 url 通常是有共性的,我们遍历源代码中的其它 url,计算其和作者 url 的最长公共字符串的长度。通常情况下,url 中作为作者标识的内容不会超过 12 位,因此若公共长度与作者 url 长度相差超过12 位的,我们通过标签特征名得到的放弃结果。另一方面,为了防止回帖人与发帖人标签特征不一样,若公共长度与作者 url 长度相差小于 12 位的,根据公共部分作为作者url 的特征,找到的第一个满足的 url,用其标签的文本内容作为主题帖作者修正前面得到的结果。</p> <p>若上面的方法没有得到作者,我们将采取噪声信息过滤的方法。具体步骤如下:<br> 噪声信息过滤法:将源代码内的不同标签的文本,按照\n 顺序分隔,并且去掉前后空格和空行进行提取,构成文本列表。</p> <p>在源代码中,标题出现的位置不止一处,但通常会出现在作者和时间之前很近的位置。因此,我们优先取出现在时间之前最近的标题,寻找其在列表中的位置作为起点,逐一向下检索每行文本是否为噪声信息,直到抓取到第一条有效信息便作为作者。过滤规则如下:</p> <p>1、 包含标题和时间的文本不会是作者<br> 2、 对于含有数字的行,判断其是否含着,楼,次,个,查看,回复等作者噪声词<br> 3、 对于含着“::”的行,若“::”前有楼主、作者、发帖人等作者标志词,选取“::”后面的内容提取为作者<br> 4、 其余情况去除噪声词汇和标点符号后,剩余 1 个字以上的,则把该行作为作者。<a href="http://img.e-com-net.com/image/info8/e9a688e6fc6d48f08da71a31c86ac976.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/e9a688e6fc6d48f08da71a31c86ac976.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第7张图片" width="650" height="861" style="border:1px solid black;"></a><br> <mark></mark></p> <center> 图 7 主题帖提取作者流程图 </center> <p></p> <h3>4.2.4. 判断网页结构</h3> <p>主题帖缺乏对照,因此噪声信息定位对正文提取的精确性至关重要。由于正文通常不会是超链接,故在过滤超链接词汇的基础上,非链接的噪声信息成为过滤的关键。而不同类型的论坛,这类噪声信息的分布各有特色。上下结构的论坛,时间和作者通常在同一区域,距离较近,且在该区域会包含少量非链接的噪声词。左右结构的论坛,在时间和作者中间夹杂着作者的论坛信息。基于这点, 我们需要先判定出论坛类型,其主要思想是根据时间与作者的最小间隔来判断。具体算法如下:</p> <p>1、 将源代码内的不同标签的文本,按照\n 顺序分隔,并且去掉前后空格和空行进行提取,构成文本列表<br> 2、 找到发帖时间第一次出现的位置<br> 3、 根据之前提取的主题帖作者词,找到此作者词处在在本列表的所有位置<br> 4、 定位出离发帖时间最近的主题帖作者的位置<br> 5、 若两者距离相差不超过 4 个词,则判断此论坛为由上至下论坛格式,否则为由左至右的格式。</p> <p><a href="http://img.e-com-net.com/image/info8/ec7fab7436554fad80c1b8ff3a8f300e.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/ec7fab7436554fad80c1b8ff3a8f300e.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第8张图片" width="650" height="359" style="border:1px solid black;"></a><br> <mark></mark></p> <center> 图 8 论坛结构为由上至下 </center> <p></p> <p><a href="http://img.e-com-net.com/image/info8/49568f4ecc8d4ad3b4ac1da3039fd8f8.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/49568f4ecc8d4ad3b4ac1da3039fd8f8.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第9张图片" width="650" height="361" style="border:1px solid black;"></a></p> <p><mark></mark></p> <center> 图 9 论坛结构为由左至右 </center> <p></p> <h3>4.2.5. 提取正文</h3> <p>论坛结构的两种类型,提取正文片断方法,略有不同,详述如下:</p> <p>1 论坛结构为由上至下(作者与时间相差不超过 4 个词):</p> <p>将源代码中第一次出现时间之后的文本进行提取,将不同标签的文本,按照\n 顺序分隔,并且去掉前后空格和空行,提取所有超链接的内容作为噪声信息。此外,这类论坛作者和时间通常会放在一个 dom 树的同一个节点下(加图加说明),我们从作者所在节点,逐层遍历其父节点,若在两层父节点内发现时间,则把该父节点所包含的信息都加入噪声词,否则放弃寻找。</p> <p><a href="http://img.e-com-net.com/image/info8/d5d9784b3927488896ec0b999eb3233b.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/d5d9784b3927488896ec0b999eb3233b.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第10张图片" width="650" height="779" style="border:1px solid black;"></a><br> <mark></mark></p> <center> 图 10 噪音词汇云图 </center> <p></p> <p>完成上述预处理后,开始根据设定的规则逐行排查,直到出现第一行正文便停止搜索,用该行作为正文的模糊查找范围,用来进行精确定位文本。<br> 规则如下:</p> <p>1.如果文本含@符号,则作为正文片断。<br> 2.若此行包含“:”,则看“:”前面的字数,若字数小于等于 4,则查找下一行。<br> 3.若此行恒等于超链接词语,则查找下一行。<br> 4.若包含主题帖作者,标题,发帖时间的信息,则查找下一行。<br> 5.其他情况,若去掉“噪音”词汇、数字以及标点符号,剩余文本大于三个字, 则保留作为正文片断。</p> <p>2 论坛结构为由左至右(作者与时间相差多余 4 个词)</p> <p>由于左右分隔的论坛,左栏会包含大量作者信息,例如积分,注册日期,登录日期,头衔等大量的“噪音信息”,因此需要定位正文所在的右栏的父标签(加图加说明),定位方法如下:</p> <p>经过多方考量。左栏通常为作者信息,因此作者名必定存在,右栏通常为发帖时间以及正文信息,因此以发帖时间为起点,依次查找其父节点是否包含作者名,重复此过程,直到查找到作者名,便可定位出右栏所对应的的根节点。查找正文方法与前者算法相同。</p> <p>将两种论坛的正文片断提取结束,则可以提取正文全部,提取方法如下:</p> <p>对于无楼层对比的帖子,在源代码中寻找包含正文片断的标签,寻找其父节点直到包含发帖时间为止,提取其文本内容,截取上一步得到正文片断以后的内容,并删除单独出现的噪声信息。</p> <p><a href="http://img.e-com-net.com/image/info8/6fdcda0cb1404e5bbf017897f9db9876.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/6fdcda0cb1404e5bbf017897f9db9876.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第11张图片" width="620" height="709" style="border:1px solid black;"></a><br> <mark></mark></p> <center> 图 11 主题帖提取正文 </center> <p></p> <h2>4.3. 提取回帖</h2> <h3>4.3.1. 定位楼层</h3> <p>本文的核心是噪声信息的过滤与相似结构的对比,定位楼层对于缩小回复贴内容寻找范围至关重要。此外,通过对比定位出的楼层,可以更有效的过滤掉楼层间重复性较高的噪声信息,甚至可以找出楼层的结构特征,这对准确率会有极大地提升。</p> <p>由于论坛格式的不同,部分论坛主题帖和回复帖的格式一样,为了能包含更多的情况,假设主题帖和回复帖的格式不同。具体算法如下:</p> <p>1.提取出所有时间<br> 2.任取两个时间,同时逐层向上寻找其父节点,直到拥有相同父节点为止。<br> 3.若未发现相同父节点,则取其他一组时间点,重复步骤 2<br> 4.当全部组合均未找到相同父节点,而时间超过 1 个,则判定楼层层数为 2,回帖数目为 1。<br> 5.若找到相同父节点,则判定回复帖数大于 1,楼层数大于 2。此时比较回复帖根节点标签的共性,寻找与其结构相似的节点,即为全部回复帖的根节点。<br> 6.将找出的回复贴根节点按照出现顺序确定楼层顺序和层数。<br> 算法的亮点是,当回复帖数大于 2 时,可以找到回复帖标签特征,并且可以直接应用到该论坛其他回复帖数目不足 2 的帖子,增加信息爬取的准确性。</p> <h3>4.3.2. 楼层数为 2(回复数为 1)</h3> <h4>4.3.2.1. 提取时间</h4> <p>将主题帖正文后的源代码利用主题帖提取时间的方式,将第一个提取出的时间作为回复帖 1 楼的时间。</p> <h4>4.3.2.2. 提取作者</h4> <p>首先通过作者的标签特征法去寻找作者,若未发现采取 url 特征提取法,首先提取出源代码中所有的超链接,将其与主题作者的超链接做比较,选取相似度最高的链接(若 有多个相似度相同的链接,则取第一个链接)将其视为回复帖 1 楼的作者。若 url 特征提取法依然无法得出结果,则从正文后用噪声过滤法。</p> <h4>4.3.2.3. 提取正文</h4> <p>提取正文方法与主题帖提取正文方法类似,唯一区别在于从回复帖 1 楼发帖时间开始遍历。</p> <p><a href="http://img.e-com-net.com/image/info8/e94e532bc8fc42b2bf57fa3831cfb753.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/e94e532bc8fc42b2bf57fa3831cfb753.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第12张图片" width="650" height="450" style="border:1px solid black;"></a></p> <p><mark></mark></p> <center> 图 12 论坛帖子楼层数为 2 展示 </center> <p></p> <h3>4.3.3. 楼层数为 3 以上</h3> <p>由于定位楼层时已经精确定位出各回复贴根节点,故只需分别对各个节点提取有效信息,相对主题帖来说,回复贴的噪声信息少,精确度相对较高,楼层较多时很容易通过算法找到其标签共性特征,最后将用这些共同特征去反爬主题帖正文,修正主题帖正文提取的结果。</p> <h4>4.3.3.1. 提取时间</h4> <p>利用主题帖提取时间的方式,分别在各回复帖根节点中将第一个提取出的时间作为回复帖的时间。</p> <p>首先通过作者的标签特征法在各回复帖根节点去寻找作者,若未发现则堆各楼层根节点采取噪声过滤法获取作者,由于 url 特征提取法取决于主题帖作者提取的正确率,故最后依然无法获取作者时使用。</p> <h4>4.3.3.3. 提取正文</h4> <p>提取回复帖正文方法如下:首先针对各回复帖根节点,应用主题帖正文提取的方法,各自提取出正文片断。由于增加了楼层对比,我们将楼层间重复率较高的词语加入筛选规则,从而增加了正文片断提取的准确性。</p> <p>对回复帖根节点搜索包含正文片段的标签,对比标签属性的公共部分作为正文标签特征,应用其提取全部正文内容并尝试用其提取主题帖正文。若特征提取不成功,则在各回复帖根节点中寻找对应的正文片断标签,逐层寻找各自父节点直到包含发帖时间为止,提取出文本内容,截取正文片断以后的内容,并删除单独出现的噪声信息。</p> <p><a href="http://img.e-com-net.com/image/info8/d0cfe324a84b4a52ac37b9a70e7107f4.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/d0cfe324a84b4a52ac37b9a70e7107f4.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第13张图片" width="650" height="343" style="border:1px solid black;"></a><br> <mark></mark></p> <center> 图 13 论坛帖子楼层数为 3 以上展示 </center> <p></p> <h1>5. 效果展示</h1> <p>为了让大家更为清晰地看到本文算法的爬虫结果,特地在十大论坛中找到三个论坛进行效果展示,三个网站分别是哇哈体育论坛、新浪论坛以及天涯论坛:</p> <h2>5.1. 哇哈体育论坛爬虫结果</h2> <p>目标网站:http://bbs.52waha.com/thread-389728-1-1.html<br> 爬虫结果展示:<br> <a href="http://img.e-com-net.com/image/info8/70107f2cf5b34fefbb4a6c0fc4745d1b.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/70107f2cf5b34fefbb4a6c0fc4745d1b.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第14张图片" width="650" height="447" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/bd385a4b0691452aa7feacaaf5484a62.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/bd385a4b0691452aa7feacaaf5484a62.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第15张图片" width="650" height="108" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/d88c6e3cd8c9465aa97c10553d03b3fa.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/d88c6e3cd8c9465aa97c10553d03b3fa.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第16张图片" width="650" height="124" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/78a6d224443946f6bf8a1b739640a4f4.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/78a6d224443946f6bf8a1b739640a4f4.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第17张图片" width="650" height="123" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/fa276554589241bda2408fb2a766574a.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/fa276554589241bda2408fb2a766574a.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第18张图片" width="650" height="130" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/ff8b26ec3a464e5aa79ccee6b7a00e97.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/ff8b26ec3a464e5aa79ccee6b7a00e97.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第19张图片" width="650" height="130" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/408ab549987a42bebca9d1ba56904038.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/408ab549987a42bebca9d1ba56904038.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第20张图片" width="650" height="510" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/7510eeb4683446fc8a293aa8ab312503.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/7510eeb4683446fc8a293aa8ab312503.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第21张图片" width="650" height="180" style="border:1px solid black;"></a><br> 可以从上面两组图的对比得知主题帖标题、论坛结构、发帖时间、主题帖作者、楼层数、回帖作者、回帖时间、回帖正文提取的正确率极高,且噪声词汇去除较准确,且给出了正文标签的共同特征(如下图所示)</p> <p><a href="http://img.e-com-net.com/image/info8/f9bd5c86b43c42f3ac24640b53904748.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/f9bd5c86b43c42f3ac24640b53904748.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第22张图片" width="650" height="333" style="border:1px solid black;"></a></p> <h2>5.2. 新浪论坛爬虫结果</h2> <p>目标网站:http://club.mil.news.sina.com.cn/thread-25705-1-1.html<br> 爬虫结果展示:</p> <p><a href="http://img.e-com-net.com/image/info8/7f6822cf9a1b42f8b16ff7adcb49cab6.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/7f6822cf9a1b42f8b16ff7adcb49cab6.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第23张图片" width="533" height="300" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/08e2c3c190ce4bcc842ff5a6c61603e1.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/08e2c3c190ce4bcc842ff5a6c61603e1.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第24张图片" width="650" height="696" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/a14d085de4d5437cbea0abda6788e2b9.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a14d085de4d5437cbea0abda6788e2b9.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第25张图片" width="650" height="486" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/77bd3b26fcfc46f18d3f195a4188604c.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/77bd3b26fcfc46f18d3f195a4188604c.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第26张图片" width="650" height="348" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/9fbb13ff02554c6abc8c82872519ce89.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/9fbb13ff02554c6abc8c82872519ce89.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第27张图片" width="650" height="143" style="border:1px solid black;"></a></p> <p>可以从上面两组图的对比得知主题帖标题、论坛结构、发帖时间、主题帖作者、楼层数、回帖作者、回帖时间、回帖正文提取的正确率极高,噪声词汇去除较准确,且给出了正文标签的共同特征,如下图所示。</p> <p><a href="http://img.e-com-net.com/image/info8/89a407428c17446a9c3a5383bddb9618.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/89a407428c17446a9c3a5383bddb9618.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第28张图片" width="650" height="360" style="border:1px solid black;"></a></p> <h2>5.3. 天涯论坛爬虫结果</h2> <p>目标网站:http://bbs.tianya.cn/post-news-363274-1.shtml<br> 爬虫结果展示:</p> <p><a href="http://img.e-com-net.com/image/info8/678f0f783e2a44728a43e686d3a1feaf.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/678f0f783e2a44728a43e686d3a1feaf.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第29张图片" width="650" height="364" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/cc9dc4507e9a41f6860094a2646515fa.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/cc9dc4507e9a41f6860094a2646515fa.jpg" alt="“泰迪杯”挑战赛-争对主流论坛(新浪,天涯,哇哈哈)进行正文提取_第30张图片" width="650" height="424" style="border:1px solid black;"></a><br> 可以从上面两组图的对比得知主题帖标题、论坛结构、发帖时间、主题帖作者、楼层数的正确率极高,且噪声词汇去除较准确,并且在无回帖的情况下提取无失误。</p> <h1>6. 参考文献</h1> <p>[1] Jiawei Han, Micheline Kamber, Jian Pei 著 范明 孟小峰译 数据挖掘—概念与技术 北京:机械工业出版社 2012 年</p> <p>[2] Ryan Mitchchell 著 陶俊杰,陈小莉译 Python 网络数据采集 北京:人民邮电版社 2016 年</p> <p>[3] Richard Lawson 著 李斌译 用 Python 写网络爬虫 北京:人民邮电出版社 2016年</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1394433000917258240"></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/1835511912843014144.htm" title="理解Gunicorn:Python WSGI服务器的基石" target="_blank">理解Gunicorn:Python WSGI服务器的基石</a> <span class="text-muted">范范0825</span> <a class="tag" taget="_blank" href="/search/ipython/1.htm">ipython</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>理解Gunicorn:PythonWSGI服务器的基石介绍Gunicorn,全称GreenUnicorn,是一个为PythonWSGI(WebServerGatewayInterface)应用设计的高效、轻量级HTTP服务器。作为PythonWeb应用部署的常用工具,Gunicorn以其高性能和易用性著称。本文将介绍Gunicorn的基本概念、安装和配置,帮助初学者快速上手。1.什么是Gunico</div> </li> <li><a href="/article/1835509898507546624.htm" title="《策划经理回忆录之二》" target="_blank">《策划经理回忆录之二》</a> <span class="text-muted">路基雅虎</span> <div>话说三年变六年,飘了,飘了……眨眼,2013年5月,老吴回到了他的家乡——油城从新开启他的工作幻想症生涯。很庆幸,这是一家很有追求,同时敢于尝试的,且实力不容低调的新星房企——金源置业(前身泰源置业)更值得庆幸的是第一个盘就是油城十路的标杆之一:金源盛世。2013年5月,到2015年11月,两年的陪伴,迎来了一场大爆发。2000个筹,5万/筹,直接回笼1个亿!!!这……让我开始认真审视这座看似五线</div> </li> <li><a href="/article/1835506869838376960.htm" title="Python数据分析与可视化实战指南" target="_blank">Python数据分析与可视化实战指南</a> <span class="text-muted">William数据分析</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/%E6%95%B0%E6%8D%AE/1.htm">数据</a> <div>在数据驱动的时代,Python因其简洁的语法、强大的库生态系统以及活跃的社区,成为了数据分析与可视化的首选语言。本文将通过一个详细的案例,带领大家学习如何使用Python进行数据分析,并通过可视化来直观呈现分析结果。一、环境准备1.1安装必要库在开始数据分析和可视化之前,我们需要安装一些常用的库。主要包括pandas、numpy、matplotlib和seaborn等。这些库分别用于数据处理、数学</div> </li> <li><a href="/article/1835505858939809792.htm" title="python os.environ" target="_blank">python os.environ</a> <span class="text-muted">江湖偌大</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a> <div>os.environ['TF_CPP_MIN_LOG_LEVEL']='0'#默认值,输出所有信息os.environ['TF_CPP_MIN_LOG_LEVEL']='1'#屏蔽通知信息(INFO)os.environ['TF_CPP_MIN_LOG_LEVEL']='2'#屏蔽通知信息和警告信息(INFO\WARNING)os.environ['TF_CPP_MIN_LOG_LEVEL']='</div> </li> <li><a href="/article/1835505606245576704.htm" title="Python中os.environ基本介绍及使用方法" target="_blank">Python中os.environ基本介绍及使用方法</a> <span class="text-muted">鹤冲天Pro</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><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/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>文章目录python中os.environos.environ简介os.environ进行环境变量的增删改查python中os.environ的使用详解1.简介2.key字段详解2.1常见key字段3.os.environ.get()用法4.环境变量的增删改查和判断是否存在4.1新增环境变量4.2更新环境变量4.3获取环境变量4.4删除环境变量4.5判断环境变量是否存在python中os.envi</div> </li> <li><a href="/article/1835505226933694464.htm" title="Pyecharts数据可视化大屏:打造沉浸式数据分析体验" target="_blank">Pyecharts数据可视化大屏:打造沉浸式数据分析体验</a> <span class="text-muted">我的运维人生</span> <a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">信息可视化</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%BC%80%E5%8F%91/1.htm">运维开发</a><a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E5%85%B1%E4%BA%AB/1.htm">技术共享</a> <div>Pyecharts数据可视化大屏:打造沉浸式数据分析体验在当今这个数据驱动的时代,如何将海量数据以直观、生动的方式展现出来,成为了数据分析师和企业决策者关注的焦点。Pyecharts,作为一款基于Python的开源数据可视化库,凭借其丰富的图表类型、灵活的配置选项以及高度的定制化能力,成为了构建数据可视化大屏的理想选择。本文将深入探讨如何利用Pyecharts打造数据可视化大屏,并通过实际代码案例</div> </li> <li><a href="/article/1835504217729626112.htm" title="Python教程:一文了解使用Python处理XPath" target="_blank">Python教程:一文了解使用Python处理XPath</a> <span class="text-muted">旦莫</span> <a class="tag" taget="_blank" href="/search/Python%E8%BF%9B%E9%98%B6/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>目录1.环境准备1.1安装lxml1.2验证安装2.XPath基础2.1什么是XPath?2.2XPath语法2.3示例XML文档3.使用lxml解析XML3.1解析XML文档3.2查看解析结果4.XPath查询4.1基本路径查询4.2使用属性查询4.3查询多个节点5.XPath的高级用法5.1使用逻辑运算符5.2使用函数6.实战案例6.1从网页抓取数据6.1.1安装Requests库6.1.2代</div> </li> <li><a href="/article/1835503965563875328.htm" title="python os.environ_python os.environ 读取和设置环境变量" target="_blank">python os.environ_python os.environ 读取和设置环境变量</a> <span class="text-muted">weixin_39605414</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/os.environ/1.htm">os.environ</a> <div>>>>importos>>>os.environ.keys()['LC_NUMERIC','GOPATH','GOROOT','GOBIN','LESSOPEN','SSH_CLIENT','LOGNAME','USER','HOME','LC_PAPER','PATH','DISPLAY','LANG','TERM','SHELL','J2REDIR','LC_MONETARY','QT_QPA</div> </li> <li><a href="/article/1835499109436452864.htm" title="如果做到轻松在股市赚钱?只要坚持这三个原则。" target="_blank">如果做到轻松在股市赚钱?只要坚持这三个原则。</a> <span class="text-muted">履霜之人</span> <div>大A股里向来就有七亏二平一赚的说法,能赚钱的都是少数人。否则股市就成了慈善机构,人人都有钱赚,谁还要上班?所以说亏钱是正常的,或者说是应该的。那么那些赚钱的人又是如何做到的呢?普通人能不能找到捷径去分一杯羹呢?方法是有的,但要做到需要你有极高的自律。第一,控制仓位,散户最大的问题是追涨杀跌,只要涨起来,就把钱往股票上砸,然后被套,隔天跌的受不了,又一刀切,全部割肉。来来回回间,遍体鳞伤。所以散户首</div> </li> <li><a href="/article/1835497664922349568.htm" title="使用Faiss进行高效相似度搜索" target="_blank">使用Faiss进行高效相似度搜索</a> <span class="text-muted">llzwxh888</span> <a class="tag" taget="_blank" href="/search/faiss/1.htm">faiss</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>在现代AI应用中,快速和高效的相似度搜索是至关重要的。Faiss(FacebookAISimilaritySearch)是一个专门用于快速相似度搜索和聚类的库,特别适用于高维向量。本文将介绍如何使用Faiss来进行相似度搜索,并结合Python代码演示其基本用法。什么是Faiss?Faiss是一个由FacebookAIResearch团队开发的开源库,主要用于高维向量的相似性搜索和聚类。Faiss</div> </li> <li><a href="/article/1835497665853485056.htm" title="python是什么意思中文-在python中%是什么意思" target="_blank">python是什么意思中文-在python中%是什么意思</a> <span class="text-muted">编程大乐趣</span> <div>Python中%有两种:1、数值运算:%代表取模,返回除法的余数。如:>>>7%212、%操作符(字符串格式化,stringformatting),说明如下:%[(name)][flags][width].[precision]typecode(name)为命名flags可以有+,-,''或0。+表示右对齐。-表示左对齐。''为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填</div> </li> <li><a href="/article/1835495644123459584.htm" title="Day1笔记-Python简介&标识符和关键字&输入输出" target="_blank">Day1笔记-Python简介&标识符和关键字&输入输出</a> <span class="text-muted">~在杰难逃~</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/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/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a> <div>大家好,从今天开始呢,杰哥开展一个新的专栏,当然,数据分析部分也会不定时更新的,这个新的专栏主要是讲解一些Python的基础语法和知识,帮助0基础的小伙伴入门和学习Python,感兴趣的小伙伴可以开始认真学习啦!一、Python简介【了解】1.计算机工作原理编程语言就是用来定义计算机程序的形式语言。我们通过编程语言来编写程序代码,再通过语言处理程序执行向计算机发送指令,让计算机完成对应的工作,编程</div> </li> <li><a href="/article/1835495517774245888.htm" title="python八股文面试题分享及解析(1)" target="_blank">python八股文面试题分享及解析(1)</a> <span class="text-muted">Shawn________</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>#1.'''a=1b=2不用中间变量交换a和b'''#1.a=1b=2a,b=b,aprint(a)print(b)结果:21#2.ll=[]foriinrange(3):ll.append({'num':i})print(11)结果:#[{'num':0},{'num':1},{'num':2}]#3.kk=[]a={'num':0}foriinrange(3):#0,12#可变类型,不仅仅改变</div> </li> <li><a href="/article/1835493753557708800.htm" title="每日算法&面试题,大厂特训二十八天——第二十天(树)" target="_blank">每日算法&面试题,大厂特训二十八天——第二十天(树)</a> <span class="text-muted">肥学</span> <a class="tag" taget="_blank" href="/search/%E2%9A%A1%E7%AE%97%E6%B3%95%E9%A2%98%E2%9A%A1%E9%9D%A2%E8%AF%95%E9%A2%98%E6%AF%8F%E6%97%A5%E7%B2%BE%E8%BF%9B/1.htm">⚡算法题⚡面试题每日精进</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>目录标题导读算法特训二十八天面试题点击直接资料领取导读肥友们为了更好的去帮助新同学适应算法和面试题,最近我们开始进行专项突击一步一步来。上一期我们完成了动态规划二十一天现在我们进行下一项对各类算法进行二十八天的一个小总结。还在等什么快来一起肥学进行二十八天挑战吧!!特别介绍小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶python有趣练手项目里面包括了像《机器人尬聊》《恶搞程序》这样的有趣文章</div> </li> <li><a href="/article/1835493626688401408.htm" title="Python快速入门 —— 第三节:类与对象" target="_blank">Python快速入门 —— 第三节:类与对象</a> <span class="text-muted">孤华暗香</span> <a class="tag" taget="_blank" href="/search/Python%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8/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>第三节:类与对象目标:了解面向对象编程的基础概念,并学会如何定义类和创建对象。内容:类与对象:定义类:class关键字。类的构造函数:__init__()。类的属性和方法。对象的创建与使用。示例:classStudent:def__init__(self,name,age,major):self.name&#</div> </li> <li><a href="/article/1835492869062881280.htm" title="pyecharts——绘制柱形图折线图" target="_blank">pyecharts——绘制柱形图折线图</a> <span class="text-muted">2224070247</span> <a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">信息可视化</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">数据可视化</a> <div>一、pyecharts概述自2013年6月百度EFE(ExcellentFrontEnd)数据可视化团队研发的ECharts1.0发布到GitHub网站以来,ECharts一直备受业界权威的关注并获得广泛好评,成为目前成熟且流行的数据可视化图表工具,被应用到诸多数据可视化的开发领域。Python作为数据分析领域最受欢迎的语言,也加入ECharts的使用行列,并研发出方便Python开发者使用的数据</div> </li> <li><a href="/article/1835491859351302144.htm" title="Python 实现图片裁剪(附代码) | Python工具" target="_blank">Python 实现图片裁剪(附代码) | Python工具</a> <span class="text-muted">剑客阿良_ALiang</span> <div>前言本文提供将图片按照自定义尺寸进行裁剪的工具方法,一如既往的实用主义。环境依赖ffmpeg环境安装,可以参考我的另一篇文章:windowsffmpeg安装部署_阿良的博客-CSDN博客本文主要使用到的不是ffmpeg,而是ffprobe也在上面这篇文章中的zip包中。ffmpy安装:pipinstallffmpy-ihttps://pypi.douban.com/simple代码不废话了,上代码</div> </li> <li><a href="/article/1835491353451130880.htm" title="【华为OD技术面试真题 - 技术面】- python八股文真题题库(4)" target="_blank">【华为OD技术面试真题 - 技术面】- python八股文真题题库(4)</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%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>华为OD面试真题精选专栏:华为OD面试真题精选目录:2024华为OD面试手撕代码真题目录以及八股文真题目录文章目录华为OD面试真题精选**1.Python中的`with`**用途和功能自动资源管理示例:文件操作上下文管理协议示例代码工作流程解析优点2.\_\_new\_\_和**\_\_init\_\_**区别__new____init__区别总结3.**切片(Slicing)操作**基本切片语法</div> </li> <li><a href="/article/1835490974911000576.htm" title="python os 环境变量" target="_blank">python os 环境变量</a> <span class="text-muted">CV矿工</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/numpy/1.htm">numpy</a> <div>环境变量:环境变量是程序和操作系统之间的通信方式。有些字符不宜明文写进代码里,比如数据库密码,个人账户密码,如果写进自己本机的环境变量里,程序用的时候通过os.environ.get()取出来就行了。os.environ是一个环境变量的字典。环境变量的相关操作importos"""设置/修改环境变量:os.environ[‘环境变量名称’]=‘环境变量值’#其中key和value均为string类</div> </li> <li><a href="/article/1835490218845761536.htm" title="Python爬虫解析工具之xpath使用详解" target="_blank">Python爬虫解析工具之xpath使用详解</a> <span class="text-muted">eqa11</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>文章目录Python爬虫解析工具之xpath使用详解一、引言二、环境准备1、插件安装2、依赖库安装三、xpath语法详解1、路径表达式2、通配符3、谓语4、常用函数四、xpath在Python代码中的使用1、文档树的创建2、使用xpath表达式3、获取元素内容和属性五、总结Python爬虫解析工具之xpath使用详解一、引言在Python爬虫开发中,数据提取是一个至关重要的环节。xpath作为一门</div> </li> <li><a href="/article/1835487919024992256.htm" title="对于写作者最重要的两点:热情和分享" target="_blank">对于写作者最重要的两点:热情和分享</a> <span class="text-muted">鱼和熊掌兼得</span> <div>【热情】在开头,塔奇曼提到光有热情是不够的。但是,要想长期的坚持写作,没有热情是不行的。很多人都说,这是一个对写作者很优待的时代,也有很多人前仆后继的写作。在写作这条路上的人,始终很多,一些人来了,一些人走了,但是能坚持下来的却只有那么几个。不知道什么时候开始,写作变现这个词火了起来。不管是谁,都想来分一杯羹。可是写作变现真的没有这么容易,鱼哥说过,写作的人千千万万,能变现的也不过是其中的千分之一</div> </li> <li><a href="/article/1835483915071090688.htm" title="【华为OD技术面试真题 - 技术面】- python八股文真题题库(1)" target="_blank">【华为OD技术面试真题 - 技术面】- python八股文真题题库(1)</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%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>华为OD面试真题精选专栏:华为OD面试真题精选目录:2024华为OD面试手撕代码真题目录以及八股文真题目录文章目录华为OD面试真题精选1.数据预处理流程数据预处理的主要步骤工具和库2.介绍线性回归、逻辑回归模型线性回归(LinearRegression)模型形式:关键点:逻辑回归(LogisticRegression)模型形式:关键点:参数估计与评估:3.python浅拷贝及深拷贝浅拷贝(Shal</div> </li> <li><a href="/article/1835483159630802944.htm" title="nosql数据库技术与应用知识点" target="_blank">nosql数据库技术与应用知识点</a> <span class="text-muted">皆过客,揽星河</span> <a class="tag" taget="_blank" href="/search/NoSQL/1.htm">NoSQL</a><a class="tag" taget="_blank" href="/search/nosql/1.htm">nosql</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/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</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/%E9%9D%9E%E5%85%B3%E7%B3%BB%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">非关系型数据库</a> <div>Nosql知识回顾大数据处理流程数据采集(flume、爬虫、传感器)数据存储(本门课程NoSQL所处的阶段)Hdfs、MongoDB、HBase等数据清洗(入仓)Hive等数据处理、分析(Spark、Flink等)数据可视化数据挖掘、机器学习应用(Python、SparkMLlib等)大数据时代存储的挑战(三高)高并发(同一时间很多人访问)高扩展(要求随时根据需求扩展存储)高效率(要求读写速度快)</div> </li> <li><a href="/article/1835481269690003456.htm" title="《Python数据分析实战终极指南》" target="_blank">《Python数据分析实战终极指南》</a> <span class="text-muted">xjt921122</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>对于分析师来说,大家在学习Python数据分析的路上,多多少少都遇到过很多大坑**,有关于技能和思维的**:Excel已经没办法处理现有的数据量了,应该学Python吗?找了一大堆Python和Pandas的资料来学习,为什么自己动手就懵了?跟着比赛类公开数据分析案例练了很久,为什么当自己面对数据需求还是只会数据处理而没有分析思路?学了对比、细分、聚类分析,也会用PEST、波特五力这类分析法,为啥</div> </li> <li><a href="/article/1835479758033481728.htm" title="SpringBlade dict-biz/list 接口 SQL 注入漏洞" target="_blank">SpringBlade dict-biz/list 接口 SQL 注入漏洞</a> <span class="text-muted">文章永久免费只为良心</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>SpringBladedict-biz/list接口SQL注入漏洞POC:构造请求包查看返回包你的网址/api/blade-system/dict-biz/list?updatexml(1,concat(0x7e,md5(1),0x7e),1)=1漏洞概述在SpringBlade框架中,如果dict-biz/list接口的后台处理逻辑没有正确地对用户输入进行过滤或参数化查询(PreparedSta</div> </li> <li><a href="/article/1835479758515826688.htm" title="OPENAIGC开发者大赛企业组AI黑马奖 | AIGC数智传媒解决方案" target="_blank">OPENAIGC开发者大赛企业组AI黑马奖 | AIGC数智传媒解决方案</a> <span class="text-muted">RPA中国</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/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/%E4%BC%A0%E5%AA%92/1.htm">传媒</a> <div>在第二届拯救者杯OPENAIGC开发者大赛中,涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到,我们特意开设了优秀作品报道专栏,旨在展示其独特之处和开发者的精彩故事。无论您是技术专家还是爱好者,希望能带给您不一样的知识和启发。让我们一起探索AIGC的无限可能,见证科技与创意的完美融合!创未来AI应用赛-企业组AI黑马奖作品名称:AIGC数智传媒解决方案参赛团队:深圳市三象智能技术</div> </li> <li><a href="/article/1835477362700021760.htm" title="Python中深拷贝与浅拷贝的区别" target="_blank">Python中深拷贝与浅拷贝的区别</a> <span class="text-muted">yuxiaoyu.</span> <div>转自:http://blog.csdn.net/u014745194/article/details/70271868定义:在Python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另一个变量的时候,python并没有拷贝这个对象,只是拷贝了这个对象的引用而已。浅拷贝:拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。也就是,把对象复制一遍,但是该对象中引用的其他对象我不复</div> </li> <li><a href="/article/1835476983614631936.htm" title="Python开发常用的三方模块如下:" target="_blank">Python开发常用的三方模块如下:</a> <span class="text-muted">换个网名有点难</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Python是一门功能强大的编程语言,拥有丰富的第三方库,这些库为开发者提供了极大的便利。以下是100个常用的Python库,涵盖了多个领域:1、NumPy,用于科学计算的基础库。2、Pandas,提供数据结构和数据分析工具。3、Matplotlib,一个绘图库。4、Scikit-learn,机器学习库。5、SciPy,用于数学、科学和工程的库。6、TensorFlow,由Google开发的开源机</div> </li> <li><a href="/article/1835476980380823552.htm" title="ES聚合分析原理与代码实例讲解" target="_blank">ES聚合分析原理与代码实例讲解</a> <span class="text-muted">光剑书架上的书</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%8E%82Offer%E6%94%B6%E5%89%B2%E6%9C%BA/1.htm">大厂Offer收割机</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">面试题</a><a class="tag" taget="_blank" href="/search/%E7%AE%80%E5%8E%86/1.htm">简历</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E8%AF%BB%E4%B9%A6/1.htm">程序员读书</a><a class="tag" taget="_blank" href="/search/%E7%A1%85%E5%9F%BA%E8%AE%A1%E7%AE%97/1.htm">硅基计算</a><a class="tag" taget="_blank" href="/search/%E7%A2%B3%E5%9F%BA%E8%AE%A1%E7%AE%97/1.htm">碳基计算</a><a class="tag" taget="_blank" href="/search/%E8%AE%A4%E7%9F%A5%E8%AE%A1%E7%AE%97/1.htm">认知计算</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9%E8%AE%A1%E7%AE%97/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/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E5%AE%9E%E7%8E%B0%E8%B4%A2%E5%AF%8C%E8%87%AA%E7%94%B1/1.htm">程序员实现财富自由</a> <div>ES聚合分析原理与代码实例讲解1.背景介绍1.1问题的由来在大规模数据分析场景中,特别是在使用Elasticsearch(ES)进行数据存储和检索时,聚合分析成为了一个至关重要的功能。聚合分析允许用户对数据集进行细分和分组,以便深入探索数据的结构和模式。这在诸如实时监控、日志分析、业务洞察等领域具有广泛的应用。1.2研究现状目前,ES聚合分析已经成为现代大数据平台的核心组件之一。它支持多种类型的聚</div> </li> <li><a href="/article/1835475580879990784.htm" title="女儿考研完报考雅思" target="_blank">女儿考研完报考雅思</a> <span class="text-muted">捡拾流年</span> <div>是否我过于焦虑?会不会无形间让女儿觉得压力太大了啊。2022年对于我们家来说是不平常的一年。女儿今年大四,为了准备考研,暑假也没回家,年初去了学校到了年末才回家。女儿自己一个人面对考研,没有参加培训,大四学校作业论文等课业也多,她同时也是很努力复习考研的。在疫情开放很多羊的时期,女儿终于顺顺利利参加12月24、25号的考研,我们和家人都觉得女儿回家来要好好休息调养。可女儿回到家,我再查阅考研信息,</div> </li> <li><a href="/article/124.htm" title="mysql主从数据同步" target="_blank">mysql主从数据同步</a> <span class="text-muted">林鹤霄</span> <a class="tag" taget="_blank" href="/search/mysql%E4%B8%BB%E4%BB%8E%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5/1.htm">mysql主从数据同步</a> <div>配置mysql5.5主从服务器(转) 教程开始:一、安装MySQL 说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22  二、配置MySQL主服务器(192.168.21.169)mysql  -uroot  -p   &nb</div> </li> <li><a href="/article/251.htm" title="oracle学习笔记" target="_blank">oracle学习笔记</a> <span class="text-muted">caoyong</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>1、ORACLE的安装    a>、ORACLE的版本    8i,9i :   i是internet    10g,11g : grid (网格)    12c : cloud (云计算)       b>、10g不支持win7 &</div> </li> <li><a href="/article/378.htm" title="数据库,SQL零基础入门" target="_blank">数据库,SQL零基础入门</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%E5%85%A5%E9%97%A8/1.htm">数据库入门</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E6%9C%AC%E6%9C%AF%E8%AF%AD/1.htm">基本术语</a> <div>数据库,SQL零基础入门        做网站肯定离不开数据库,本人之前没怎么具体接触SQL,这几天起早贪黑得各种入门,恶补脑洞。一些具体的知识点,可以让小白不再迷茫的术语,拿来与大家分享。          数据库,永久数据的一个或多个大型结构化集合,通常与更新和查询数据的软件相关</div> </li> <li><a href="/article/505.htm" title="pom.xml" target="_blank">pom.xml</a> <span class="text-muted">一炮送你回车库</span> <a class="tag" taget="_blank" href="/search/pom.xml/1.htm">pom.xml</a> <div>1、一级元素dependencies是可以被子项目继承的 2、一级元素dependencyManagement是定义该项目群里jar包版本号的,通常和一级元素properties一起使用,既然有继承,也肯定有一级元素modules来定义子元素 3、父项目里的一级元素<modules> <module>lcas-admin-war</module> <</div> </li> <li><a href="/article/632.htm" title="sql查地区省市县" target="_blank">sql查地区省市县</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div> -- db_yhm_city SELECT * FROM db_yhm_city WHERE class_parent_id = 1 -- 海南 class_id = 9 港、奥、台 class_id = 33、34、35 SELECT * FROM db_yhm_city WHERE class_parent_id =169 SELECT d1.cla</div> </li> <li><a href="/article/759.htm" title="关于监听器那些让人头疼的事" target="_blank">关于监听器那些让人头疼的事</a> <span class="text-muted">宝剑锋梅花香</span> <a class="tag" taget="_blank" href="/search/%E7%94%BB%E5%9B%BE%E6%9D%BF/1.htm">画图板</a><a class="tag" taget="_blank" href="/search/%E7%9B%91%E5%90%AC%E5%99%A8/1.htm">监听器</a><a class="tag" taget="_blank" href="/search/%E9%BC%A0%E6%A0%87%E7%9B%91%E5%90%AC%E5%99%A8/1.htm">鼠标监听器</a> <div>       本人初学JAVA,对于界面开发我只能说有点蛋疼,用JAVA来做界面的话确实需要一定的耐心(不使用插件,就算使用插件的话也没好多少)既然Java提供了界面开发,老师又要求做,只能硬着头皮上啦。但是监听器还真是个难懂的地方,我是上了几次课才略微搞懂了些。       </div> </li> <li><a href="/article/886.htm" title="JAVA的遍历MAP" target="_blank">JAVA的遍历MAP</a> <span class="text-muted">darkranger</span> <a class="tag" taget="_blank" href="/search/map/1.htm">map</a> <div>Java Map遍历方式的选择 1. 阐述   对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?   为了解遍历性能的真实差距,包括在遍历ke</div> </li> <li><a href="/article/1013.htm" title="POJ 2312 Battle City 优先多列+bfs" target="_blank">POJ 2312 Battle City 优先多列+bfs</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2/1.htm">搜索</a> <div>来源:http://poj.org/problem?id=2312 题意:题目背景就是小时候玩的坦克大战,求从起点到终点最少需要多少步。已知S和R是不能走得,E是空的,可以走,B是砖,只有打掉后才可以通过。 思路:很容易看出来这是一道广搜的题目,但是因为走E和走B所需要的时间不一样,因此不能用普通的队列存点。因为对于走B来说,要先打掉砖才能通过,所以我们可以理解为走B需要两步,而走E是指需要1</div> </li> <li><a href="/article/1140.htm" title="Hibernate与Jpa的关系,终于弄懂" target="_blank">Hibernate与Jpa的关系,终于弄懂</a> <span class="text-muted">avords</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</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/jpa/1.htm">jpa</a> <div>我知道Jpa是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。 在play中定义Model时,使用的是jpa的annotations,比如javax.persistence.Entity, Table, Column, OneToMany</div> </li> <li><a href="/article/1267.htm" title="酸爽的console.log" target="_blank">酸爽的console.log</a> <span class="text-muted">bee1314</span> <a class="tag" taget="_blank" href="/search/console/1.htm">console</a> <div>在前端的开发中,console.log那是开发必备啊,简直直观。通过写小函数,组合大功能。更容易测试。但是在打版本时,就要删除console.log,打完版本进入开发状态又要添加,真不够爽。重复劳动太多。所以可以做些简单地封装,方便开发和上线。 /** * log.js hufeng * The safe wrapper for `console.xxx` functions * </div> </li> <li><a href="/article/1394.htm" title="哈佛教授:穷人和过于忙碌的人有一个共同思维特质" target="_blank">哈佛教授:穷人和过于忙碌的人有一个共同思维特质</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%97%B6%E9%97%B4%E7%AE%A1%E7%90%86/1.htm">时间管理</a><a class="tag" taget="_blank" href="/search/%E5%8A%B1%E5%BF%97%E4%BA%BA%E7%94%9F/1.htm">励志人生</a><a class="tag" taget="_blank" href="/search/%E7%A9%B7%E4%BA%BA/1.htm">穷人</a><a class="tag" taget="_blank" href="/search/%E8%BF%87%E4%BA%8E%E5%BF%99%E7%A2%8C/1.htm">过于忙碌</a> <div>        一个跨学科团队今年完成了一项对资源稀缺状况下人的思维方式的研究,结论是:穷人和过于忙碌的人有一个共同思维特质,即注意力被稀缺资源过分占据,引起认知和判断力的全面下降。这项研究是心理学、行为经济学和政策研究学者协作的典范。   这个研究源于穆来纳森对自己拖延症的憎恨。他7岁从印度移民美国,很快就如鱼得水,哈佛毕业</div> </li> <li><a href="/article/1521.htm" title="other operate" target="_blank">other operate</a> <span class="text-muted">征客丶</span> <a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a><a class="tag" taget="_blank" href="/search/osx/1.htm">osx</a> <div>一、Mac Finder 设置排序方式,预览栏 在显示-》查看显示选项中 二、有时预览显示时,卡死在那,有可能是一些临时文件夹被删除了,如:/private/tmp[有待验证] -------------------------------------------------------------------- 若有其他凝问或文中有错误,请及时向我指出, 我好及时改正,同时也让我们一</div> </li> <li><a href="/article/1648.htm" title="【Scala五】分析Spark源代码总结的Scala语法三" target="_blank">【Scala五】分析Spark源代码总结的Scala语法三</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>1. If语句作为表达式 val properties = if (jobIdToActiveJob.contains(jobId)) { jobIdToActiveJob(stage.jobId).properties } else { // this stage will be assigned to "default" po</div> </li> <li><a href="/article/1775.htm" title="ZooKeeper 入门" target="_blank">ZooKeeper 入门</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a><a class="tag" taget="_blank" href="/search/zk/1.htm">zk</a> <div>ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。 值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利</div> </li> <li><a href="/article/1902.htm" title="MySQL取得当前时间的函数是什么 格式化日期的函数是什么" target="_blank">MySQL取得当前时间的函数是什么 格式化日期的函数是什么</a> <span class="text-muted">BreakingBad</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/Date/1.htm">Date</a> <div>取得当前时间用 now() 就行。 在数据库中格式化时间 用DATE_FORMA T(date, format) . 根据格式串format 格式化日期或日期和时间值date,返回结果串。 可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值: %S, %s 两位数字形式的秒( 00,01,</div> </li> <li><a href="/article/2029.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/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.List; abstract class Component { public abstract void printStruct(Str</div> </li> <li><a href="/article/2156.htm" title="4_JAVA+Oracle面试题(有答案)" target="_blank">4_JAVA+Oracle面试题(有答案)</a> <span class="text-muted">chenke</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>基础测试题 卷面上不能出现任何的涂写文字,所有的答案要求写在答题纸上,考卷不得带走。 选择题 1、 What will happen when you attempt to compile and run the following code? (3) public class Static { static { int x = 5; // 在static内有效 } st</div> </li> <li><a href="/article/2283.htm" title="新一代工作流系统设计目标" target="_blank">新一代工作流系统设计目标</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/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/%E8%84%9A%E6%9C%AC/1.htm">脚本</a> <div>   用户只需要给工作流系统制定若干个需求,流程系统根据需求,并结合事先输入的组织机构和权限结构,调用若干算法,在流程展示版面上面显示出系统自动生成的流程图,然后由用户根据实际情况对该流程图进行微调,直到满意为止,流程在运行过程中,系统和用户可以根据情况对流程进行实时的调整,包括拓扑结构的调整,权限的调整,内置脚本的调整。。。。。 在这个设计中,最难的地方是系统根据什么来生成流</div> </li> <li><a href="/article/2410.htm" title="oracle 行链接与行迁移" target="_blank">oracle 行链接与行迁移</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/%E8%A1%8C%E8%BF%81%E7%A7%BB/1.htm">行迁移</a> <div>表里的一行对于一个数据块太大的情况有二种(一行在一个数据块里放不下) 第一种情况: INSERT的时候,INSERT时候行的大小就超一个块的大小。Oracle把这行的数据存储在一连串的数据块里(Oracle Stores the data for the row in a chain of data blocks),这种情况称为行链接(Row Chain),一般不可避免(除非使用更大的数据</div> </li> <li><a href="/article/2537.htm" title="[JShop]开源电子商务系统jshop的系统缓存实现" target="_blank">[JShop]开源电子商务系统jshop的系统缓存实现</a> <span class="text-muted">dinguangx</span> <a class="tag" taget="_blank" href="/search/jshop/1.htm">jshop</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%AD%90%E5%95%86%E5%8A%A1/1.htm">电子商务</a> <div>前言 jeeshop中通过SystemManager管理了大量的缓存数据,来提升系统的性能,但这些缓存数据全部都是存放于内存中的,无法满足特定场景的数据更新(如集群环境)。JShop对jeeshop的缓存机制进行了扩展,提供CacheProvider来辅助SystemManager管理这些缓存数据,通过CacheProvider,可以把缓存存放在内存,ehcache,redis,memcache</div> </li> <li><a href="/article/2664.htm" title="初三全学年难记忆单词" target="_blank">初三全学年难记忆单词</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/english/1.htm">english</a><a class="tag" taget="_blank" href="/search/word/1.htm">word</a> <div>several 儿子;若干 shelf 架子 knowledge 知识;学问 librarian 图书管理员 abroad 到国外,在国外 surf 冲浪 wave 浪;波浪 twice 两次;两倍 describe 描写;叙述 especially 特别;尤其 attract 吸引 prize 奖品;奖赏 competition 比赛;竞争 event 大事;事件 O</div> </li> <li><a href="/article/2791.htm" title="sphinx实践" target="_blank">sphinx实践</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/sphinx/1.htm">sphinx</a> <div>  安装参考地址:http://briansnelson.com/How_to_install_Sphinx_on_Centos_Server   yum install sphinx 如果失败的话使用下面的方式安装 wget http://sphinxsearch.com/files/sphinx-2.2.9-1.rhel6.x86_64.rpm yum loca</div> </li> <li><a href="/article/2918.htm" title="JPA之JPQL(三)" target="_blank">JPA之JPQL(三)</a> <span class="text-muted">frank1234</span> <a class="tag" taget="_blank" href="/search/orm/1.htm">orm</a><a class="tag" taget="_blank" href="/search/jpa/1.htm">jpa</a><a class="tag" taget="_blank" href="/search/JPQL/1.htm">JPQL</a> <div>1 什么是JPQL JPQL是Java Persistence Query Language的简称,可以看成是JPA中的HQL, JPQL支持各种复杂查询。 2 检索单个对象 @Test public  void querySingleObject1() {     Query query = em.createQuery("sele</div> </li> <li><a href="/article/3045.htm" title="Remove Duplicates from Sorted Array II" target="_blank">Remove Duplicates from Sorted Array II</a> <span class="text-muted">hcx2013</span> <a class="tag" taget="_blank" href="/search/remove/1.htm">remove</a> <div>Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For example,Given sorted array nums = [1,1,1,2,2,3], Your function should return length </div> </li> <li><a href="/article/3172.htm" title="Spring4新特性——Groovy Bean定义DSL" target="_blank">Spring4新特性——Groovy Bean定义DSL</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring+4/1.htm">spring 4</a> <div>Spring4新特性——泛型限定式依赖注入 Spring4新特性——核心容器的其他改进 Spring4新特性——Web开发的增强 Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  Spring4新特性——Groovy Bean定义DSL Spring4新特性——更好的Java泛型操作API  Spring4新</div> </li> <li><a href="/article/3299.htm" title="CentOS安装Mysql5.5" target="_blank">CentOS安装Mysql5.5</a> <span class="text-muted">liuxingguome</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>CentOS下以RPM方式安装MySQL5.5 首先卸载系统自带Mysql: yum remove mysql mysql-server mysql-libs compat-mysql51 rm -rf /var/lib/mysql rm /etc/my.cnf 查看是否还有mysql软件: rpm -qa|grep mysql 去http://dev.mysql.c</div> </li> <li><a href="/article/3426.htm" title="第14章 工具函数(下)" target="_blank">第14章 工具函数(下)</a> <span class="text-muted">onestopweb</span> <a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0/1.htm">函数</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/3553.htm" title="POJ 1050" target="_blank">POJ 1050</a> <span class="text-muted">SaraWon</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a><a class="tag" taget="_blank" href="/search/%E5%AD%90%E7%9F%A9%E9%98%B5/1.htm">子矩阵</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%A4%A7%E5%92%8C/1.htm">最大和</a> <div>POJ ACM第1050题的详细描述,请参照 http://acm.pku.edu.cn/JudgeOnline/problem?id=1050 题目意思: 给定包含有正负整型的二维数组,找出所有子矩阵的和的最大值。 如二维数组 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 中和最大的子矩阵是 9 2 -4 1 -1 8 且最大和是15</div> </li> <li><a href="/article/3680.htm" title="[5]设计模式——单例模式" target="_blank">[5]设计模式——单例模式</a> <span class="text-muted">tsface</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/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/%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">虚拟机</a> <div>单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点   安全的单例模式:     /* * @(#)Singleton.java 2014-8-1 * * Copyright 2014 XXXX, Inc. All rights reserved. */ package com.fiberhome.singleton; </div> </li> <li><a href="/article/3807.htm" title="Java8全新打造,英语学习supertool" target="_blank">Java8全新打造,英语学习supertool</a> <span class="text-muted">yangshangchuan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/superword/1.htm">superword</a><a class="tag" taget="_blank" href="/search/%E9%97%AD%E5%8C%85/1.htm">闭包</a><a class="tag" taget="_blank" href="/search/java8/1.htm">java8</a><a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B/1.htm">函数式编程</a> <div>superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律等等。Clean code、Fluent style、Java8 feature: Lambdas, Streams and Functional-style Programming。   升学考试、工作求职、充电提高,都少不了英语的身影,英语对我们来说实在太重要</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>