千家信息网

如何用Python实现网页正文的提取

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这篇文章主要介绍了如何用Python实现网页正文的提取的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用Python实现网页正文的提取文章都会有所收获,下面我们一起来看
千家信息网最后更新 2024年11月22日如何用Python实现网页正文的提取

这篇文章主要介绍了如何用Python实现网页正文的提取的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用Python实现网页正文的提取文章都会有所收获,下面我们一起来看看吧。

一个典型的新闻网页包括几个不同区域:


新闻网页区域

我们要提取的新闻要素包含在:

  • 标题区域

  • meta数据区域(发布时间等)

  • 配图区域(如果想把配图也提取)

  • 正文区域

而导航栏区域、相关链接区域的文字就不属于该新闻的要素。

新闻的标题、发布时间、正文内容一般都是从我们抓取的html里面提取的。如果仅仅是一个网站的新闻网页,提取这三个内容很简单,写三个正则表达式就可以完美提取了。然而,我们的爬虫抓来的是成百上千的网站的网页。对这么多不同格式的网页写正则表达式会累死人的,而且网页一旦稍微改版,表达式可能就失效,维护这群表达式也是会累死人的。

累死人的做法当然想不通,我们就要探索一下好的算法来实现。

1. 标题的提取

标题基本上都会出现在html的</code>标签里面,但是又被附加了诸如频道名称、网站名称等信息;</p><p>标题还会出现在网页的"标题区域"。</p><p>那么这两个地方,从哪里提取标题比较容易呢?</p><p>网页的"标题区域"没有明显的标识,不同网站的"标题区域"的html代码部分千差万别。所以这个区域并不容易提取出来。</p><p>那么就只剩下<code><title></code>标签了,这个标签很容易提取,无论是正则表达式,还是lxml解析都很容易,不容易的是如何去除频道名称、网站名称等信息。</p><p>先来看看,<code><title></code>标签里面都是设么样子的附加信息:</p><ul class="list-paddingleft-2"><li><p><code>上海用"智慧"激活城市交通脉搏,让道路更安全更有序更通畅_浦江头条_澎湃新闻-The Paper</code></p></li><li><p><code>"沪港大学联盟"今天在复旦大学成立_教育_新民网</code></p></li><li><p><code>三亚老人脚踹司机致公交车失控撞墙 被判刑3年_社会</code></p></li><li><p><code>外交部:中美外交安全对话9日在美举行</code></p></li><li><p><code>进博会:中国行动全球瞩目,中国担当世界点赞_南方观澜_南方网</code></p></li><li><p><code>资本市场迎来重大改革 设立科创板有何深意?-新华网</code></p></li></ul><p>观察这些title不难发现,新闻标题和频道名、网站名之间都是有一些连接符号的。那么我就可以通过这些连接符吧title分割,找出最长的部分就是新闻标题了。</p><p>这个思路也很容易实现,这里就不再上代码了,留给小猿们作为思考练习题自己实现一下。</p><h3>2. 发布时间提取</h3><p>发布时间,指的是这个网页在该网站上线的时间,一般它会出现在正文标题的下方--meta数据区域。从html代码看,这个区域没有什么特殊特征让我们定位,尤其是在非常多的网站版面面前,定位这个区域几乎是不可能的。这需要我们另辟蹊径。<br>跟标题一样,我们也先看看一些网站的发布时间都是怎么写的:</p><ul class="list-paddingleft-2"><li><p>央视网2018年11月06日 22:22</p></li><li><p>时间:2018-11-07 14:27:00</p></li><li><p>2018-11-07 11:20:37 来源: 新华网</p></li><li><p>来源:中国日报网 2018-11-07 08:06:39</p></li><li><p>2018年11月07日 07:39:19</p></li><li><p>2018-11-06 09:58 来源:澎湃新闻</p></li></ul><p>这些写在网页上的发布时间,都有一个共同的特点,那就是一个表示时间的字符串,年月日时分秒,无外乎这几个要素。通过正则表达式,我们列举一些不同时间表达方式(也就那么几种)的正则表达式,就可以从网页文本中进行匹配提取发布时间了。</p><p>这也是一个很容易实现的思路,但是细节比较多,表达方式要涵盖的尽可能多,写好这么一个提取发布时间的函数也不是那么容易的哦。小猿们尽情发挥动手能力,看看自己能写出怎样的函数实现。这也是留给小猿们的一道练习题。</p><h3>3. 正文的提取</h3><p>正文(包括新闻配图)是一个新闻网页的主体部分,它在视觉上占据中间位置,是新闻的内容主要的文字区域。正文的提取有很多种方法,实现上有复杂也有简单。本文介绍的方法,是结合老猿多年的实践经验和思考得出来的一个简单快速的方法,姑且称之为"节点文本密度法"。</p><p>我们知道,网页的html代码是由不同的标签(tag)组成了一个树状结构树,每个标签是树的一个节点。通过遍历这个树状结构的每个节点,找到文本最多的节点,它就是正文所在的节点。根据这个思路,我们来实现一下代码。</p><h4>3.1 实现源码</h4><pre>#!/usr/bin/env python3#File: maincontent.py#Author: veelionimport reimport timeimport tracebackimport cchardetimport lxmlimport lxml.htmlfrom lxml.html import HtmlCommentREGEXES = { 'okMaybeItsACandidateRe': re.compile( 'and|article|artical|body|column|main|shadow', re.I), 'positiveRe': re.compile( ('article|arti|body|content|entry|hentry|main|page|' 'artical|zoom|arti|context|message|editor|' 'pagination|post|txt|text|blog|story'), re.I), 'negativeRe': re.compile( ('copyright|combx|comment|com-|contact|foot|footer|footnote|decl|copy|' 'notice|' 'masthead|media|meta|outbrain|promo|related|scroll|link|pagebottom|bottom|' 'other|shoutbox|sidebar|sponsor|shopping|tags|tool|widget'), re.I),}class MainContent: def __init__(self,): self.non_content_tag = set([ 'head', 'meta', 'script', 'style', 'object', 'embed', 'iframe', 'marquee', 'select', ]) self.title = '' self.p_space = re.compile(r'\s') self.p_html = re.compile(r'<html|</html>', re.IGNORECASE|re.DOTALL) self.p_content_stop = re.compile(r'正文.*结束|正文下|相关阅读|声明') self.p_clean_tree = re.compile(r'author|post-add|copyright') def get_title(self, doc): title = '' title_el = doc.xpath('//title') if title_el: title = title_el[0].text_content().strip() if len(title) < 7: tt = doc.xpath('//meta[@name="title"]') if tt: title = tt[0].get('content', '') if len(title) < 7: tt = doc.xpath('//*[contains(@id, "title") or contains(@class, "title")]') if not tt: tt = doc.xpath('//*[contains(@id, "font01") or contains(@class, "font01")]') for t in tt: ti = t.text_content().strip() if ti in title and len(ti)*2 > len(title): title = ti break if len(ti) > 20: continue if len(ti) > len(title) or len(ti) > 7: title = ti return title def shorten_title(self, title): spliters = [' - ', '-', '-', '-', '|', '::'] for s in spliters: if s not in title: continue tts = title.split(s) if len(tts) < 2: continue title = tts[0] break return title def calc_node_weight(self, node): weight = 1 attr = '%s %s %s' % ( node.get('class', ''), node.get('id', ''), node.get('style', '') ) if attr: mm = REGEXES['negativeRe'].findall(attr) weight -= 2 * len(mm) mm = REGEXES['positiveRe'].findall(attr) weight += 4 * len(mm) if node.tag in ['div', 'p', 'table']: weight += 2 return weight def get_main_block(self, url, html, short_title=True): ''' return (title, etree_of_main_content_block) ''' if isinstance(html, bytes): encoding = cchardet.detect(html)['encoding'] if encoding is None: return None, None html = html.decode(encoding, 'ignore') try: doc = lxml.html.fromstring(html) doc.make_links_absolute(base_url=url) except : traceback.print_exc() return None, None self.title = self.get_title(doc) if short_title: self.title = self.shorten_title(self.title) body = doc.xpath('//body') if not body: return self.title, None candidates = [] nodes = body[0].getchildren() while nodes: node = nodes.pop(0) children = node.getchildren() tlen = 0 for child in children: if isinstance(child, HtmlComment): continue if child.tag in self.non_content_tag: continue if child.tag == 'a': continue if child.tag == 'textarea': # FIXME: this tag is only part of content? continue attr = '%s%s%s' % (child.get('class', ''), child.get('id', ''), child.get('style')) if 'display' in attr and 'none' in attr: continue nodes.append(child) if child.tag == 'p': weight = 3 else: weight = 1 text = '' if not child.text else child.text.strip() tail = '' if not child.tail else child.tail.strip() tlen += (len(text) + len(tail)) * weight if tlen < 10: continue weight = self.calc_node_weight(node) candidates.append((node, tlen*weight)) if not candidates: return self.title, None candidates.sort(key=lambda a: a[1], reverse=True) good = candidates[0][0] if good.tag in ['p', 'pre', 'code', 'blockquote']: for i in range(5): good = good.getparent() if good.tag == 'div': break good = self.clean_etree(good, url) return self.title, good def clean_etree(self, tree, url=''): to_drop = [] drop_left = False for node in tree.iterdescendants(): if drop_left: to_drop.append(node) continue if isinstance(node, HtmlComment): to_drop.append(node) if self.p_content_stop.search(node.text): drop_left = True continue if node.tag in self.non_content_tag: to_drop.append(node) continue attr = '%s %s' % ( node.get('class', ''), node.get('id', '') ) if self.p_clean_tree.search(attr): to_drop.append(node) continue aa = node.xpath('.//a') if aa: text_node = len(self.p_space.sub('', node.text_content())) text_aa = 0 for a in aa: alen = len(self.p_space.sub('', a.text_content())) if alen > 5: text_aa += alen if text_aa > text_node * 0.4: to_drop.append(node) for node in to_drop: try: node.drop_tree() except: pass return tree def get_text(self, doc): lxml.etree.strip_elements(doc, 'script') lxml.etree.strip_elements(doc, 'style') for ch in doc.iterdescendants(): if not isinstance(ch.tag, str): continue if ch.tag in ['div', 'h2', 'h3', 'h4', 'p', 'br', 'table', 'tr', 'dl']: if not ch.tail: ch.tail = '\n' else: ch.tail = '\n' + ch.tail.strip() + '\n' if ch.tag in ['th', 'td']: if not ch.text: ch.text = ' ' else: ch.text += ' ' # if ch.tail: # ch.tail = ch.tail.strip() lines = doc.text_content().split('\n') content = [] for l in lines: l = l.strip() if not l: continue content.append(l) return '\n'.join(content) def extract(self, url, html): '''return (title, content) ''' title, node = self.get_main_block(url, html) if node is None: print('\tno main block got !!!!!', url) return title, '', '' content = self.get_text(node) return title, content</pre><h4>3.2 代码解析</h4><p>跟新闻爬虫一样,我们把整个算法实现为一个类:MainContent。</p><p>首先,定义了一个全局变量: REGEXES。它收集了一些经常出现在标签的class和id中的关键词,这些词标识着该标签可能是正文或者不是。我们用这些词来给标签节点计算权重,也就是方法calc_node_weight()的作用。</p><p>MainContent类的初始化,先定义了一些不会包含正文的标签 self.non_content_tag,遇到这些标签节点,直接忽略掉即可。</p><p>本算法提取标题实现在get_title()这个函数里面。首先,它先获得<code><title></code>标签的内容,然后试着从<code><meta></code>里面找title,再尝试从<code><body></code>里面找id和class包含title的节点,最后把从不同地方获得的可能是标题的文本进行对比,最终获得标题。对比的原则是:</p><ul class="list-paddingleft-2"><li><p><code><meta></code>, <code><body></code>里面找到的疑似标题如果包含在<code><title></code>标签里面,则它是一个干净(没有频道名、网站名)的标题;</p></li><li><p>如果疑似标题太长就忽略</p></li><li><p>主要把<code><title></code>标签作为标题</p></li></ul><p>从<code><title></code>标签里面获得标题,就要解决标题清洗的问题。这里实现了一个简单的方法: clean_title()。</p><p>在这个实现中,我们使用了lxml.html把网页的html转化成一棵树,从body节点开始遍历每一个节点,看它直接包含(不含子节点)的文本的长度,从中找出含有最长文本的节点。这个过程实现在方法:get_main_block()中。其中一些细节,小猿们可以仔细体会一下。</p><p>其中一个细节就是,clean_node()这个函数。通过get_main_block()得到的节点,有可能包含相关新闻的链接,这些链接包含大量新闻标题,如果不去除,就会给新闻内容带来杂质(相关新闻的标题、概述等)。</p><p>还有一个细节,get_text()函数。我们从main block中提取文本内容,不是直接使用text_content(),而是做了一些格式方面的处理,比如在一些标签后面加入换行符合<code>\n</code>,在table的单元格之间加入空格。这样处理后,得到的文本格式比较符合原始网页的效果。</p><h3>爬虫知识点</h3><p>1. cchardet模块<br>用于快速判断文本编码的模块</p><p>2. lxml.html模块<br>结构化html代码的模块,通过xpath解析网页的工具,高效易用,是写爬虫的居家必备的模块。</p><p>3. 内容提取的复杂性<br>我们这里实现的正文提取的算法,基本上可以正确处理90%以上的新闻网页。<br>但是,世界上没有千篇一律的网页一样,也没有一劳永逸的提取算法。大规模使用本文算法的过程中,你会碰到奇葩的网页,这个时候,你就要针对这些网页,来完善这个算法类。</p><p class="introduction">关于"如何用Python实现网页正文的提取"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"如何用Python实现网页正文的提取"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。</p> </div> <div class="diggit"><a href="#"> 很赞哦! </a></div> <div class="clear"></div> <div class="keywords"> <a href="/s-网页">网页</a> <a href="/s-标题">标题</a> <a href="/s-新闻">新闻</a> <a href="/s-正文">正文</a> <a href="/s-区域">区域</a> <a href="/s-标签">标签</a> <a href="/s-节点">节点</a> <a href="/s-时间">时间</a> <a href="/s-网站">网站</a> <a href="/s-内容">内容</a> <a href="/s-文本">文本</a> <a href="/s-算法">算法</a> <a href="/s-表达式">表达式</a> <a href="/s-代码">代码</a> <a href="/s-方法">方法</a> <a href="/s-不同">不同</a> <a href="/s-函数">函数</a> <a href="/s-模块">模块</a> <a href="/s-正则">正则</a> <a href="/s-频道">频道</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377745.html">数据库的安全要保护哪些东西</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2375887.html">数据库安全各自的含义是什么</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377880.html">生产安全数据库录入</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377879.html">数据库的安全性及管理</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377878.html">数据库安全策略包含哪些</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377877.html">海淀数据库安全审计系统</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377876.html">建立农村房屋安全信息数据库</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377875.html">易用的数据库客户端支持安全管理</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377874.html">连接数据库失败ssl安全错误</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377873.html">数据库的锁怎样保障安全</a> <a target="_blank" href="https://www.qianjiagd.com/tag-550586.html">施乐c75背包服务器如何校色</a> <a target="_blank" href="https://www.qianjiagd.com/tag-1004685.html">数据库中恢复数据的命令语句</a> <a target="_blank" href="https://www.qianjiagd.com/tag-1383857.html">浅析网络安全毕业论文题目</a> <a target="_blank" href="https://www.qianjiagd.com/tag-905290.html">有发展的数据库分布式</a> <a target="_blank" href="https://www.qianjiagd.com/tag-1143167.html">网络技术部部长职责描述</a> <a target="_blank" href="https://www.qianjiagd.com/tag-339327.html">优点服务器插硬盘</a> <a target="_blank" href="https://www.qianjiagd.com/tag-1854105.html">网络安全我们的公约</a> <a target="_blank" href="https://www.qianjiagd.com/tag-1797408.html">360中粮集团网络安全</a> <a target="_blank" href="https://www.qianjiagd.com/tag-1654206.html">不属于网络安全法的有</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2245405.html">互动沙盘软件开发</a> <a target="_blank" href="https://www.qianjiagd.com/tag-1279242.html">杭州科擎网络技术有限公司</a> <a target="_blank" href="https://www.qianjiagd.com/tag-1709600.html">宁厦盟网络安全公司</a> <a target="_blank" href="https://www.qianjiagd.com/tag-113079.html">1256号数据库应用技术计算机</a> <a target="_blank" href="https://www.qianjiagd.com/tag-11860.html">深圳柒喜互联网科技有限公司</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2185398.html">各大软件开发故事</a> <a target="_blank" href="https://www.qianjiagd.com/tag-621900.html">数据库机制</a> <a target="_blank" href="https://www.qianjiagd.com/tag-16955.html">广州拉丁互联网科技</a> <a target="_blank" href="https://www.qianjiagd.com/tag-1388556.html">网络安全工作中怎么做</a> <a target="_blank" href="https://www.qianjiagd.com/tag-1966414.html">高校智慧食堂解决方案软件开发</a> <a target="_blank" href="https://www.qianjiagd.com/tag-437788.html">服务器限制cpu主频</a> <a target="_blank" href="https://www.qianjiagd.com/s-比格云服务器开启80端口">比格云服务器开启80端口</a> <a target="_blank" href="https://www.qianjiagd.com/s-以网络技术为代表的科学技术">以网络技术为代表的科学技术</a> <a target="_blank" href="https://www.qianjiagd.com/s-ip通信管理服务器">ip通信管理服务器</a> <a target="_blank" href="https://www.qianjiagd.com/s-安全引导数据库找不到程序签名">安全引导数据库找不到程序签名</a> <a target="_blank" href="https://www.qianjiagd.com/s-北京百米互联网科技公司">北京百米互联网科技公司</a> <a target="_blank" href="https://www.qianjiagd.com/s-软件开发质量文化">软件开发质量文化</a> <a target="_blank" href="https://www.qianjiagd.com/s-怎么在数据库中快速查找函数">怎么在数据库中快速查找函数</a> <a target="_blank" href="https://www.qianjiagd.com/s-船舶网络安全演习英文版">船舶网络安全演习英文版</a> <a target="_blank" href="https://www.qianjiagd.com/s-服务器远程接入安全管理">服务器远程接入安全管理</a> <a target="_blank" href="https://www.qianjiagd.com/s-软件开发小程序 聚顶科技好">软件开发小程序 聚顶科技好</a> </div> <div class="share"><img src="https://www.qianjiagd.com/static/zsymb/images/wxgzh.jpg"> <div class="share-text"> <p>扫描关注千家信息网微信公众号,第一时间获取内容更新动态</p> <p>转载请说明来源于"千家信息网"</p> <p>本文地址:<a href="https://www.qianjiagd.com/a244655" target="_blank">https://www.qianjiagd.com/a244655</a></p> </div> </div> <div class="clear"></div> <div class="info-pre-next"> <ul> <li><a href="https://www.qianjiagd.com/a244653"><i><em>上一篇</em><img src="https://www.qianjiagd.com/static/assets/images/nopic.gif"></i> <h2>Java重写,重载,多态怎么定义使用</h2> <p>本篇内容主要讲解"Java重写,重载,多态怎么定义使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java重写,重载,多态怎么定义使用"吧!1.重写:a</p> </a></li> <li><a href="https://www.qianjiagd.com/a244657"><i><em>下一篇</em><img src="https://www.qianjiagd.com/static/assets/images/nopic.gif"></i> <h2>Java线程让步yield用法的示例分析</h2> <p>Java线程让步yield用法的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一 点睛yield()方法是一个和sleep(</p> </a></li> </ul> </div> </div> </div> <div class="clear blank"></div> <div class="otherlink whitebg"> <div class="news-title"> <h2>相关文章</h2> </div> <ul> <li><a href="https://www.qianjiagd.com/a177928" title="PHP中session会话操作技巧有哪些">PHP中session会话操作技巧有哪些</a></li> <li><a href="https://www.qianjiagd.com/a146158" title="PHP类相关知识点有哪些">PHP类相关知识点有哪些</a></li> <li><a href="https://www.qianjiagd.com/a123341" title="VS2008无法直接查看STL值怎么办">VS2008无法直接查看STL值怎么办</a></li> <li><a href="https://www.qianjiagd.com/a245815" title="php版微信公众平台之微信网页登陆授权的示例分析">php版微信公众平台之微信网页登陆授权的示例分析</a></li> <li><a href="https://www.qianjiagd.com/a201934" title="中高级PHP程序员应该掌握什么技术">中高级PHP程序员应该掌握什么技术</a></li> <li><a href="https://www.qianjiagd.com/a63118" title="CI框架出现mysql数据库连接资源无法释放怎么办">CI框架出现mysql数据库连接资源无法释放怎么办</a></li> <li><a href="https://www.qianjiagd.com/a37602" title="ajax跨域访问报错501怎么办">ajax跨域访问报错501怎么办</a></li> <li><a href="https://www.qianjiagd.com/a106909" title="什么是RPC框架">什么是RPC框架</a></li> <li><a href="https://www.qianjiagd.com/a157266" title=".net mvc超过了最大请求长度怎么办">.net mvc超过了最大请求长度怎么办</a></li> <li><a href="https://www.qianjiagd.com/a213044" title="php分页原理的示例分析">php分页原理的示例分析</a></li> <!-- <li><a target="_blank" href="/">制作是这么收费的?</a></li> --> </ul> </div> </div> <!-- . end of left-box --> <!-- right aside start--> <aside class="side-section right-box"> <div class="side-tab"> <ul id="sidetab"> <li class="sidetab-current">站长推荐</li> <li>点击排行</li> </ul> <div id="sidetab-content"> <section> <div class="tuijian"> <section class="topnews imgscale"><a href="https://www.qianjiagd.com/a622964" title="recovery是什么意思?电脑开机重启显示recovery蓝屏怎么办"><img src="https://www.qianjiagd.com/uploadfile/thumb/a87ff679a2f3e71d9181a67b7542122c/278x185_auto.jpg" alt="recovery是什么意思?电脑开机重启显示recovery蓝屏怎么办"><span>recovery是什么意思?电脑开机重启显示recovery蓝屏怎么办</span></a></section> <ul> <li><a href="https://www.qianjiagd.com/a67182" title="怎么在Linux中配置SSH和Xshell远程连接服务器"><i><img src="https://www.qianjiagd.com/uploadfile/thumb/9a/65e9dcdf.jpg" alt="怎么在Linux中配置SSH和Xshell远程连接服务器"></i> <p>怎么在Linux中配置SSH和Xshell远程连接服务器</p> </a></li> <li><a href="https://www.qianjiagd.com/a123341" title="VS2008无法直接查看STL值怎么办"><i><img src="https://www.qianjiagd.com/uploadfile/thumb/52/bf79ba42.jpg" alt="VS2008无法直接查看STL值怎么办"></i> <p>VS2008无法直接查看STL值怎么办</p> </a></li> <li><a href="https://www.qianjiagd.com/a106909" title="什么是RPC框架"><i><img src="https://www.qianjiagd.com/uploadfile/thumb/10/d0f5142a.jpg" alt="什么是RPC框架"></i> <p>什么是RPC框架</p> </a></li> <li><a href="https://www.qianjiagd.com/a157266" title=".net mvc超过了最大请求长度怎么办"><i><img src="https://www.qianjiagd.com/uploadfile/thumb/36/6d16d7e5.jpg" alt=".net mvc超过了最大请求长度怎么办"></i> <p>.net mvc超过了最大请求长度怎么办</p> </a></li> </ul> <section class="topnews imgscale"><a href="https://www.qianjiagd.com/a244736" title="java怎么实现try/catch异常块"><img src="https://www.qianjiagd.com/uploadfile/thumb/15/9878a9c6.jpg" alt="java怎么实现try/catch异常块"><span>java怎么实现try/catch异常块</span></a></section> <ul> <li><a href="https://www.qianjiagd.com/a199222" title="PHP中如何处理上传文件"><i><img src="https://www.qianjiagd.com/uploadfile/thumb/ee/203d504b.jpg" alt="PHP中如何处理上传文件"></i> <p>PHP中如何处理上传文件</p> </a></li> <li><a href="https://www.qianjiagd.com/a184615" title="php中require_once报错的解决方法"><i><img src="https://www.qianjiagd.com/uploadfile/thumb/ef/e0177085.jpg" alt="php中require_once报错的解决方法"></i> <p>php中require_once报错的解决方法</p> </a></li> <li><a href="https://www.qianjiagd.com/a192541" title="PHP如何编写学校网站上新生注册登陆程序"><i><img src="https://www.qianjiagd.com/uploadfile/thumb/a1/0898126a.jpg" alt="PHP如何编写学校网站上新生注册登陆程序"></i> <p>PHP如何编写学校网站上新生注册登陆程序</p> </a></li> <li><a href="https://www.qianjiagd.com/a210747" title="php中微信公众号开发模式的示例分析"><i><img src="https://www.qianjiagd.com/uploadfile/thumb/af/9e9aba9a.jpg" alt="php中微信公众号开发模式的示例分析"></i> <p>php中微信公众号开发模式的示例分析</p> </a></li> </ul> </div> </section> <section> <div class="paihang"> <section class="topnews imgscale"><a href="https://www.qianjiagd.com/a21343" title="在vmware esxi6.5中将硬盘驱动类型由HDD变为SSD类型"><img src="https://www.qianjiagd.com/uploadfile/thumb/ab/08b16e75.jpg" alt="在vmware esxi6.5中将硬盘驱动类型由HDD变为SSD类型"><span>在vmware esxi6.5中将硬盘驱动类型由HDD变为SSD类型</span></a></section> <ul> <li><i></i><a href="https://www.qianjiagd.com/a175843" title="Vue中的匿名插槽与具名插槽是什么">Vue中的匿名插槽与具名插槽是什么</a></li> <li><i></i><a href="https://www.qianjiagd.com/a71754" title="vscoder如何关闭错误提示">vscoder如何关闭错误提示</a></li> <li><i></i><a href="https://www.qianjiagd.com/a114973" title="vue3与vue2的区别以及vue3的API用法介绍">vue3与vue2的区别以及vue3的API用法介绍</a></li> <li><i></i><a href="https://www.qianjiagd.com/a15469" title="老年机号码拉黑怎么解除(老年机号码拉黑怎么解除)">老年机号码拉黑怎么解除(老年机号码拉黑怎么解除)</a></li> <li><i></i><a href="https://www.qianjiagd.com/a69563" title="qq群作业里为什么图片上传不了(qq群作业照片传不上去)">qq群作业里为什么图片上传不了(qq群作业照片传不上去)</a></li> <li><i></i><a href="https://www.qianjiagd.com/a85246" title="京东以旧换新评估价和实际一样吗(京东以旧换新估价和成交价一样吗)">京东以旧换新评估价和实际一样吗(京东以旧换新估价和成交价一样吗)</a></li> <li><i></i><a href="https://www.qianjiagd.com/a27254" title="录制的横屏视频怎么变成全屏竖屏(录制的横屏怎么变竖屏)">录制的横屏视频怎么变成全屏竖屏(录制的横屏怎么变竖屏)</a></li> <li><i></i><a href="https://www.qianjiagd.com/a13935" title="拼多多注销后可以重开新用户吗(拼多多注销后重开算新用户吗)">拼多多注销后可以重开新用户吗(拼多多注销后重开算新用户吗)</a></li> </ul> <section class="topnews imgscale"><a href="https://www.qianjiagd.com/a29879" title="微信登录加载联系人失败怎么弄(微信加载联系人失败 点击重试)"><img src="https://www.qianjiagd.com/uploadfile/thumb/75/d1313c6d.jpg" alt="微信登录加载联系人失败怎么弄(微信加载联系人失败 点击重试)"><span>微信登录加载联系人失败怎么弄(微信加载联系人失败 点击重试)</span></a></section> </div> </section> </div> </div> <div class="whitebg cloud"> <h2 class="side-title">标签云</h2> <ul> <a target="_blank" href="https://www.qianjiagd.com/tag-2377745.html">数据库的安全要保护哪些东西</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2375887.html">数据库安全各自的含义是什么</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377880.html">生产安全数据库录入</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377879.html">数据库的安全性及管理</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377878.html">数据库安全策略包含哪些</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377877.html">海淀数据库安全审计系统</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377876.html">建立农村房屋安全信息数据库</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377875.html">易用的数据库客户端支持安全管理</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377874.html">连接数据库失败ssl安全错误</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377873.html">数据库的锁怎样保障安全</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377872.html">数据库安全章节测试</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377871.html">华大基因数据库安全性</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377870.html">数据库es安全性测试工具</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377869.html">数据库与云安全</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377868.html">微生物安全数据库</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377867.html">数据库个人信息安全吗</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377866.html">安全数据库降级</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377865.html">黑龙江数据库安全防护系统</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377864.html">数据库安全性实验例题</a> <a target="_blank" href="https://www.qianjiagd.com/tag-2377863.html">在国家公共安全数据库有记录</a> </ul> </div> <div class="clear blank"></div> <div class="whitebg suiji"> <h2 class="side-title">猜你喜欢</h2> <ul> <li><a href="https://www.qianjiagd.com/a63090" title="华为手机按键震动在哪设置关掉 按键振动怎么取消方法">华为手机按键震动在哪设置关掉 按键振动怎么取消方法</a></li> <li><a href="https://www.qianjiagd.com/a36693" title="百度网盘PDF怎么转换成Word格式 PDF转Word操作教程">百度网盘PDF怎么转换成Word格式 PDF转Word操作教程</a></li> <li><a href="https://www.qianjiagd.com/a73496" title="陌陌无限注册教程(怎么注册陌陌新号)">陌陌无限注册教程(怎么注册陌陌新号)</a></li> <li><a href="https://www.qianjiagd.com/a206293" title="win10开机蓝屏终止代码SYSTEM_SERVICE_EXCEPTION的解决方法">win10开机蓝屏终止代码SYSTEM_SERVICE_EXCEPTION的解决方法</a></li> <li><a href="https://www.qianjiagd.com/a71928" title="微信看不到朋友圈不显示一条横线(微信看不到朋友圈只有一条横线)">微信看不到朋友圈不显示一条横线(微信看不到朋友圈只有一条横线)</a></li> <li><a href="https://www.qianjiagd.com/a123341" title="VS2008无法直接查看STL值怎么办">VS2008无法直接查看STL值怎么办</a></li> <li><a href="https://www.qianjiagd.com/a99782" title="怎么将苹果手机中录音发给好友 iPhone传语音文件方法教程">怎么将苹果手机中录音发给好友 iPhone传语音文件方法教程</a></li> <li><a href="https://www.qianjiagd.com/a213464" title="iis7.5中如何让html与shtml一样支持include功能">iis7.5中如何让html与shtml一样支持include功能</a></li> <li><a href="https://www.qianjiagd.com/a173126" title="快影怎么把视频弄成横屏播放 制作方法分享">快影怎么把视频弄成横屏播放 制作方法分享</a></li> <li><a href="https://www.qianjiagd.com/a185249" title="双卡发短信怎么设置(双卡怎么切换发短信)">双卡发短信怎么设置(双卡怎么切换发短信)</a></li> </ul> </div> </aside> <!-- right aside end--> </article> <div class="clear blank"></div> <!--footer start--> <footer> <div class="footer box"> <div class="wxbox"> <ul> <li><img src="https://www.qianjiagd.com/static/zsymb/images/wxgzh.jpg"><span>微信公众号</span></li> <li><img src="https://www.qianjiagd.com/static/zsymb/images/wx.png"><span>我的微信</span></li> </ul> </div> <div class="endnav"> <p><b>站点声明:</b></p> <p>所有文章未经授权禁止转载、摘编、复制或建立镜像,如有违反,追究法律责任。</p> <p>Copyright © 2009-2024 <a href="https://www.qianjiagd.com/" target="_blank">千家信息网</a> All Rights Reserved. <a href="/sitemap.xml">网站地图</a> <a href="/about/">关于我们</a> <a href="/contact-us/">联系我们</a> </p> </div> </div> </footer> <a href="#" title="返回顶部" class="icon-top"></a> <!--footer end--> <div style="display:none"> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?aec778eae8071ef8921721735a4a9509"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </div> <div style="display:none"> <span class="dr_show_hits_244655">0</span><script type="text/javascript"> $.ajax({ type: "GET", url:"/index.php?s=api&c=module&siteid=1&app=article&m=hits&id=244655", dataType: "jsonp", success: function(data){ if (data.code) { $(".dr_show_hits_244655").html(data.msg); } else { dr_tips(0, data.msg); } } }); </script></div> <!--本页面URL https://www.qianjiagd.com/a244655 --> <!--本页面于2024-11-22 04:16:56更新--> </body> </html>