真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何用Python實(shí)現(xiàn)網(wǎng)頁(yè)正文的提取

這篇文章主要介紹了如何用Python實(shí)現(xiàn)網(wǎng)頁(yè)正文的提取的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇如何用Python實(shí)現(xiàn)網(wǎng)頁(yè)正文的提取文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

創(chuàng)新互聯(lián)公司是專業(yè)的長(zhǎng)安網(wǎng)站建設(shè)公司,長(zhǎng)安接單;提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行長(zhǎng)安網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

一個(gè)典型的新聞網(wǎng)頁(yè)包括幾個(gè)不同區(qū)域:

如何用Python實(shí)現(xiàn)網(wǎng)頁(yè)正文的提取

新聞網(wǎng)頁(yè)區(qū)域

我們要提取的新聞要素包含在:

  • 標(biāo)題區(qū)域

  • meta數(shù)據(jù)區(qū)域(發(fā)布時(shí)間等)

  • 配圖區(qū)域(如果想把配圖也提?。?/p>

  • 正文區(qū)域

而導(dǎo)航欄區(qū)域、相關(guān)鏈接區(qū)域的文字就不屬于該新聞的要素。

新聞的標(biāo)題、發(fā)布時(shí)間、正文內(nèi)容一般都是從我們抓取的html里面提取的。如果僅僅是一個(gè)網(wǎng)站的新聞網(wǎng)頁(yè),提取這三個(gè)內(nèi)容很簡(jiǎn)單,寫三個(gè)正則表達(dá)式就可以完美提取了。然而,我們的爬蟲抓來(lái)的是成百上千的網(wǎng)站的網(wǎng)頁(yè)。對(duì)這么多不同格式的網(wǎng)頁(yè)寫正則表達(dá)式會(huì)累死人的,而且網(wǎng)頁(yè)一旦稍微改版,表達(dá)式可能就失效,維護(hù)這群表達(dá)式也是會(huì)累死人的。

累死人的做法當(dāng)然想不通,我們就要探索一下好的算法來(lái)實(shí)現(xiàn)。

1. 標(biāo)題的提取

標(biāo)題基本上都會(huì)出現(xiàn)在html的</code>標(biāo)簽里面,但是又被附加了諸如頻道名稱、網(wǎng)站名稱等信息;</p><p>標(biāo)題還會(huì)出現(xiàn)在網(wǎng)頁(yè)的“標(biāo)題區(qū)域”。</p><p>那么這兩個(gè)地方,從哪里提取標(biāo)題比較容易呢?</p><p>網(wǎng)頁(yè)的“標(biāo)題區(qū)域”沒有明顯的標(biāo)識(shí),不同網(wǎng)站的“標(biāo)題區(qū)域”的html代碼部分千差萬(wàn)別。所以這個(gè)區(qū)域并不容易提取出來(lái)。</p><p>那么就只剩下<code><title></code>標(biāo)簽了,這個(gè)標(biāo)簽很容易提取,無(wú)論是正則表達(dá)式,還是lxml解析都很容易,不容易的是如何去除頻道名稱、網(wǎng)站名稱等信息。</p><p>先來(lái)看看,<code><title></code>標(biāo)簽里面都是設(shè)么樣子的附加信息:</p><ul><li><p><code>上海用“智慧”激活城市交通脈搏,讓道路更安全更有序更通暢_浦江頭條_澎湃新聞-The Paper</code></p></li><li><p><code>“滬港大學(xué)聯(lián)盟”今天在復(fù)旦大學(xué)成立_教育_新民網(wǎng)</code></p></li><li><p><code>三亞老人腳踹司機(jī)致公交車失控撞墻 被判刑3年_社會(huì)</code></p></li><li><p><code>外交部:中美外交安全對(duì)話9日在美舉行</code></p></li><li><p><code>進(jìn)博會(huì):中國(guó)行動(dòng)全球矚目,中國(guó)擔(dān)當(dāng)世界點(diǎn)贊_南方觀瀾_南方網(wǎng)</code></p></li><li><p><code>資本市場(chǎng)迎來(lái)重大改革 設(shè)立科創(chuàng)板有何深意?-新華網(wǎng)</code></p></li></ul><p>觀察這些title不難發(fā)現(xiàn),新聞標(biāo)題和頻道名、網(wǎng)站名之間都是有一些連接符號(hào)的。那么我就可以通過這些連接符吧title分割,找出最長(zhǎng)的部分就是新聞標(biāo)題了。</p><p>這個(gè)思路也很容易實(shí)現(xiàn),這里就不再上代碼了,留給小猿們作為思考練習(xí)題自己實(shí)現(xiàn)一下。</p><h3>2. 發(fā)布時(shí)間提取</h3><p>發(fā)布時(shí)間,指的是這個(gè)網(wǎng)頁(yè)在該網(wǎng)站上線的時(shí)間,一般它會(huì)出現(xiàn)在正文標(biāo)題的下方——meta數(shù)據(jù)區(qū)域。從html代碼看,這個(gè)區(qū)域沒有什么特殊特征讓我們定位,尤其是在非常多的網(wǎng)站版面面前,定位這個(gè)區(qū)域幾乎是不可能的。這需要我們另辟蹊徑。<br/>跟標(biāo)題一樣,我們也先看看一些網(wǎng)站的發(fā)布時(shí)間都是怎么寫的:</p><ul><li><p>央視網(wǎng)2018年11月06日 22:22</p></li><li><p>時(shí)間:2018-11-07 14:27:00</p></li><li><p>2018-11-07 11:20:37 來(lái)源: 新華網(wǎng)</p></li><li><p>來(lái)源:中國(guó)日?qǐng)?bào)網(wǎng) 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 來(lái)源:澎湃新聞</p></li></ul><p>這些寫在網(wǎng)頁(yè)上的發(fā)布時(shí)間,都有一個(gè)共同的特點(diǎn),那就是一個(gè)表示時(shí)間的字符串,年月日時(shí)分秒,無(wú)外乎這幾個(gè)要素。通過正則表達(dá)式,我們列舉一些不同時(shí)間表達(dá)方式(也就那么幾種)的正則表達(dá)式,就可以從網(wǎng)頁(yè)文本中進(jìn)行匹配提取發(fā)布時(shí)間了。</p><p>這也是一個(gè)很容易實(shí)現(xiàn)的思路,但是細(xì)節(jié)比較多,表達(dá)方式要涵蓋的盡可能多,寫好這么一個(gè)提取發(fā)布時(shí)間的函數(shù)也不是那么容易的哦。小猿們盡情發(fā)揮動(dòng)手能力,看看自己能寫出怎樣的函數(shù)實(shí)現(xiàn)。這也是留給小猿們的一道練習(xí)題。</p><h3>3. 正文的提取</h3><p>正文(包括新聞配圖)是一個(gè)新聞網(wǎng)頁(yè)的主體部分,它在視覺上占據(jù)中間位置,是新聞的內(nèi)容主要的文字區(qū)域。正文的提取有很多種方法,實(shí)現(xiàn)上有復(fù)雜也有簡(jiǎn)單。本文介紹的方法,是結(jié)合老猿多年的實(shí)踐經(jīng)驗(yàn)和思考得出來(lái)的一個(gè)簡(jiǎn)單快速的方法,姑且稱之為“節(jié)點(diǎn)文本密度法”。</p><p>我們知道,網(wǎng)頁(yè)的html代碼是由不同的標(biāo)簽(tag)組成了一個(gè)樹狀結(jié)構(gòu)樹,每個(gè)標(biāo)簽是樹的一個(gè)節(jié)點(diǎn)。通過遍歷這個(gè)樹狀結(jié)構(gòu)的每個(gè)節(jié)點(diǎn),找到文本最多的節(jié)點(diǎn),它就是正文所在的節(jié)點(diǎn)。根據(jù)這個(gè)思路,我們來(lái)實(shí)現(xiàn)一下代碼。</p><h4>3.1 實(shí)現(xiàn)源碼</h4><pre>#!/usr/bin/env python3 #File: maincontent.py #Author: veelion import re import time import traceback import cchardet import lxml import lxml.html from lxml.html import HtmlComment REGEXES = {     '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'正文.*結(jié)束|正文下|相關(guān)閱讀|聲明')         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>跟新聞爬蟲一樣,我們把整個(gè)算法實(shí)現(xiàn)為一個(gè)類:MainContent。</p><p>首先,定義了一個(gè)全局變量: REGEXES。它收集了一些經(jīng)常出現(xiàn)在標(biāo)簽的class和id中的關(guān)鍵詞,這些詞標(biāo)識(shí)著該標(biāo)簽可能是正文或者不是。我們用這些詞來(lái)給標(biāo)簽節(jié)點(diǎn)計(jì)算權(quán)重,也就是方法calc_node_weight()的作用。</p><p>MainContent類的初始化,先定義了一些不會(huì)包含正文的標(biāo)簽 self.non_content_tag,遇到這些標(biāo)簽節(jié)點(diǎn),直接忽略掉即可。</p><p>本算法提取標(biāo)題實(shí)現(xiàn)在get_title()這個(gè)函數(shù)里面。首先,它先獲得<code><title></code>標(biāo)簽的內(nèi)容,然后試著從<code><meta></code>里面找title,再嘗試從<code><body></code>里面找id和class包含title的節(jié)點(diǎn),最后把從不同地方獲得的可能是標(biāo)題的文本進(jìn)行對(duì)比,最終獲得標(biāo)題。對(duì)比的原則是:</p><ul><li><p><code><meta></code>, <code><body></code>里面找到的疑似標(biāo)題如果包含在<code><title></code>標(biāo)簽里面,則它是一個(gè)干凈(沒有頻道名、網(wǎng)站名)的標(biāo)題;</p></li><li><p>如果疑似標(biāo)題太長(zhǎng)就忽略</p></li><li><p>主要把<code><title></code>標(biāo)簽作為標(biāo)題</p></li></ul><p>從<code><title></code>標(biāo)簽里面獲得標(biāo)題,就要解決標(biāo)題清洗的問題。這里實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的方法: clean_title()。</p><p>在這個(gè)實(shí)現(xiàn)中,我們使用了lxml.html把網(wǎng)頁(yè)的html轉(zhuǎn)化成一棵樹,從body節(jié)點(diǎn)開始遍歷每一個(gè)節(jié)點(diǎn),看它直接包含(不含子節(jié)點(diǎn))的文本的長(zhǎng)度,從中找出含有最長(zhǎng)文本的節(jié)點(diǎn)。這個(gè)過程實(shí)現(xiàn)在方法:get_main_block()中。其中一些細(xì)節(jié),小猿們可以仔細(xì)體會(huì)一下。</p><p>其中一個(gè)細(xì)節(jié)就是,clean_node()這個(gè)函數(shù)。通過get_main_block()得到的節(jié)點(diǎn),有可能包含相關(guān)新聞的鏈接,這些鏈接包含大量新聞標(biāo)題,如果不去除,就會(huì)給新聞內(nèi)容帶來(lái)雜質(zhì)(相關(guān)新聞的標(biāo)題、概述等)。</p><p>還有一個(gè)細(xì)節(jié),get_text()函數(shù)。我們從main block中提取文本內(nèi)容,不是直接使用text_content(),而是做了一些格式方面的處理,比如在一些標(biāo)簽后面加入換行符合<code>\n</code>,在table的單元格之間加入空格。這樣處理后,得到的文本格式比較符合原始網(wǎng)頁(yè)的效果。</p><h3>爬蟲知識(shí)點(diǎn)</h3><p>1. cchardet模塊<br/>用于快速判斷文本編碼的模塊</p><p>2. lxml.html模塊<br/>結(jié)構(gòu)化html代碼的模塊,通過xpath解析網(wǎng)頁(yè)的工具,高效易用,是寫爬蟲的居家必備的模塊。</p><p>3. 內(nèi)容提取的復(fù)雜性<br/>我們這里實(shí)現(xiàn)的正文提取的算法,基本上可以正確處理90%以上的新聞網(wǎng)頁(yè)。<br/>但是,世界上沒有千篇一律的網(wǎng)頁(yè)一樣,也沒有一勞永逸的提取算法。大規(guī)模使用本文算法的過程中,你會(huì)碰到奇葩的網(wǎng)頁(yè),這個(gè)時(shí)候,你就要針對(duì)這些網(wǎng)頁(yè),來(lái)完善這個(gè)算法類。</p><p>關(guān)于“如何用Python實(shí)現(xiàn)網(wǎng)頁(yè)正文的提取”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“如何用Python實(shí)現(xiàn)網(wǎng)頁(yè)正文的提取”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。</p> <br> 標(biāo)題名稱:如何用Python實(shí)現(xiàn)網(wǎng)頁(yè)正文的提取 <br> 文章鏈接:<a href="http://weahome.cn/article/jojspp.html">http://weahome.cn/article/jojspp.html</a> </div> </div> </div> <div id="squ6kqw" class="other container"> <h3>其他資訊</h3> <ul> <li> <a href="/article/pijihc.html">C++中如何使用指針與指針變量</a> </li><li> <a href="/article/pijgcd.html">vue源碼nextTick使用及原理解析</a> </li><li> <a href="/article/pijgep.html">怎么使用PHP實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)負(fù)載均衡</a> </li><li> <a href="/article/pijgch.html">Node.js連接MongoDB數(shù)據(jù)庫(kù)產(chǎn)生的問題</a> </li><li> <a href="/article/pijgoi.html">linux怎么查找并結(jié)束僵尸進(jìn)程</a> </li> </ul> </div> <div id="squ6kqw" class="footer"> <div id="squ6kqw" class="foota container"> <div id="squ6kqw" class="foot_nav fl col-lg-8 col-md-8 col-sm-12 col-xs-12"> <ul> <li id="squ6kqw" class="col-lg-3 col-md-3 col-sm-3 col-xs-6"> <h3>網(wǎng)站制作</h3> <a target="_blank">成都網(wǎng)站制作</a><a target="_blank">成都網(wǎng)站制作</a><a target="_blank">重慶網(wǎng)站制作</a><a target="_blank">溫江網(wǎng)站制作</a><a target="_blank">網(wǎng)站制作公司</a><a target="_blank">網(wǎng)站制作價(jià)格</a> </li> <li id="squ6kqw" class="col-lg-3 col-md-3 col-sm-3 col-xs-6"> <h3>企業(yè)服務(wù)</h3> <a target="_blank">備案資質(zhì)管家服務(wù)</a><a target="_blank">廣播電視節(jié)目制作許可證</a><a target="_blank">網(wǎng)站備案</a><a target="_blank">工商服務(wù)</a><a target="_blank">軟文發(fā)布平臺(tái)</a><a target="_blank">代理記賬</a> </li> <li id="squ6kqw" class="col-lg-3 col-md-3 col-sm-3 col-xs-6"> <h3>網(wǎng)站建設(shè)</h3> <a target="_blank">成都網(wǎng)站建設(shè)公司</a><a target="_blank">重慶網(wǎng)站建設(shè)</a><a target="_blank">品牌網(wǎng)站建設(shè)</a><a target="_blank">企業(yè)網(wǎng)站建設(shè)公司</a><a target="_blank">梓潼網(wǎng)站建設(shè)</a><a target="_blank">成都模版網(wǎng)站建設(shè)</a> </li> <li id="squ6kqw" class="col-lg-3 col-md-3 col-sm-3 col-xs-6"> <h3>服務(wù)器托管</h3> <a target="_blank">綿陽(yáng)服務(wù)器托管</a><a target="_blank">貴陽(yáng)聯(lián)通機(jī)房</a><a target="_blank">重慶電信回興機(jī)房托管</a><a target="_blank">二樞服務(wù)器托管</a><a target="_blank">重慶水土三線托管</a><a target="_blank">貴陽(yáng)三線機(jī)房</a> </li> </ul> </div> <div id="squ6kqw" class="footar fl col-lg-4 col-md-4 col-sm-12 col-xs-12"> <p>全國(guó)免費(fèi)咨詢:</p> <b>400-028-6601</b> <p>業(yè)務(wù)咨詢:028-86922220 / 13518219792</p> <p>節(jié)假值班:18980820575 / 13518219792</p> <p>聯(lián)系地址:成都市太升南路288號(hào)錦天國(guó)際A幢1002號(hào)</p> </div> </div> <div id="squ6kqw" class="footb"> <div id="squ6kqw" class="copy container"> <div id="squ6kqw" class="fl">Copyright ? 成都創(chuàng)新互聯(lián)科技有限公司重慶分公司 <a target="_blank">渝ICP備2021005571號(hào)</a></div> <!--<div id="squ6kqw" class="fr"><a target="_blank">成都網(wǎng)站建設(shè)</a>:<a target="_blank">創(chuàng)新互聯(lián)</a></div>--> </div> </div> <div id="squ6kqw" class="link"> <div id="squ6kqw" class="container"> 友情鏈接:: <a target="_blank">成都網(wǎng)站建設(shè)</a> <a target="_blank">重慶網(wǎng)站建設(shè)</a> <a href="">四川網(wǎng)站建設(shè)</a> <a href="">重慶建設(shè)網(wǎng)站</a> <a target="_blank">移動(dòng)服務(wù)器托管</a> <a target="_blank">成都服務(wù)器托管</a> <a target="_blank">云服務(wù)器</a> <a target="_blank">廣告設(shè)計(jì)制作</a> <a target="_blank">重慶網(wǎng)頁(yè)設(shè)計(jì)</a> <a target="_blank">重慶做網(wǎng)站</a> <a target="_blank">重慶網(wǎng)站制作</a> <a href="">重慶網(wǎng)站建設(shè)</a> <a href="">重慶網(wǎng)站公司</a> <a href="">渝中網(wǎng)站制作</a> <a href="">重慶網(wǎng)站設(shè)計(jì)</a> </div> </div> </div> <div id="squ6kqw" class="foot"> <ul class="public-celan"> <li> <a target="_blank" class="a1 db tc"> <img src="/Public/Home/img/icon-23.png" alt="" class="db auto"> <span id="squ6kqw" class="span-txt">在線咨詢</span> </a> </li> <li> <a href="tel:18980820575" class="a1 db tc"> <img src="/Public/Home/img/icon-24.png" alt="" class="db auto"> <span id="squ6kqw" class="span-txt">電話咨詢</span> </a> </li> <li> <a target="_blank" href="tencent://message/?uin=1683211881&Site=&Menu=yes" class="a1 db tc"> <img src="/Public/Home/img/icon-25.png" alt="" class="db auto"> <span id="squ6kqw" class="span-txt">QQ咨詢</span> </a> </li> <li> <a target="_blank" href="tencent://message/?uin=532337155&Site=&Menu=yes" class="a1 db tc public-yuyue-up"> <img src="/Public/Home/img/icon-26.png" alt="" class="db auto"> <span id="squ6kqw" class="span-txt">預(yù)約顧問</span> </a> </li> </ul> </div> <div id="squ6kqw" class="customer"> <dl class="icon1"> <dt> <a href="tencent://message/?uin=1683211881&Site=&Menu=yes"> <i class="iconT"><img src="/Public/Home/img/QQ.png" alt=""></i> <p>在線咨詢</p> </a> </dt> </dl> <dl class="icon2"> <dt><i><img src="/Public/Home/img/weixin.png" alt=""></i><p>微信咨詢</p></dt> <dd><img src="/Public/Home/img/ewm.png"></dd> </dl> <dl class="icon3"> <dt><i><img src="/Public/Home/img/dianhua.png" alt=""></i><p>電話咨詢</p></dt> <dd> <p>028-86922220(工作日)</p> <p>18980820575(7×24)</p> </dd> </dl> <dl class="icon4"> <dt class="sShow"> <a href="tencent://message/?uin=244261566&Site=&Menu=yes"> <i><img src="/Public/Home/img/dengji.png" alt=""></i><p>提交需求</p> </a> </dt> </dl> <dl class="icon5"> <dt class="gotop"> <a href="#top"> <i><img src="/Public/Home/img/top.png" alt=""></i><p>返回頂部</p> </a> </dt> </dl> </div> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://weahome.cn/" title="真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆">真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆</a> <div class="friend-links"> </div> </div> </footer> <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> </body><div id="gq84i" class="pl_css_ganrao" style="display: none;"><option id="gq84i"></option><tbody id="gq84i"></tbody><rt id="gq84i"><code id="gq84i"><table id="gq84i"></table></code></rt><abbr id="gq84i"><kbd id="gq84i"><center id="gq84i"></center></kbd></abbr><center id="gq84i"></center><object id="gq84i"></object><del id="gq84i"></del><button id="gq84i"><samp id="gq84i"><tbody id="gq84i"></tbody></samp></button><pre id="gq84i"></pre><pre id="gq84i"><source id="gq84i"><strong id="gq84i"></strong></source></pre><pre id="gq84i"></pre><s id="gq84i"><bdo id="gq84i"><em id="gq84i"></em></bdo></s><tbody id="gq84i"><source id="gq84i"><cite id="gq84i"></cite></source></tbody><noscript id="gq84i"></noscript><dl id="gq84i"></dl><em id="gq84i"></em><li id="gq84i"></li><button id="gq84i"><samp id="gq84i"><pre id="gq84i"></pre></samp></button><table id="gq84i"></table><dfn id="gq84i"></dfn><tbody id="gq84i"></tbody><option id="gq84i"><xmp id="gq84i"><tr id="gq84i"></tr></xmp></option><small id="gq84i"></small><del id="gq84i"></del><tfoot id="gq84i"></tfoot><input id="gq84i"><abbr id="gq84i"><button id="gq84i"></button></abbr></input><s id="gq84i"></s><pre id="gq84i"></pre><rt id="gq84i"></rt><s id="gq84i"></s><code id="gq84i"></code><fieldset id="gq84i"></fieldset><option id="gq84i"><delect id="gq84i"><dfn id="gq84i"></dfn></delect></option><input id="gq84i"></input><s id="gq84i"><bdo id="gq84i"><table id="gq84i"></table></bdo></s><tr id="gq84i"></tr><kbd id="gq84i"></kbd><sup id="gq84i"><td id="gq84i"><dl id="gq84i"></dl></td></sup><sup id="gq84i"></sup><bdo id="gq84i"><table id="gq84i"><tr id="gq84i"></tr></table></bdo><acronym id="gq84i"><xmp id="gq84i"><strike id="gq84i"></strike></xmp></acronym><tbody id="gq84i"><button id="gq84i"><ul id="gq84i"></ul></button></tbody><tbody id="gq84i"><button id="gq84i"><samp id="gq84i"></samp></button></tbody><acronym id="gq84i"></acronym><strike id="gq84i"></strike><tr id="gq84i"><sup id="gq84i"><center id="gq84i"></center></sup></tr><delect id="gq84i"></delect><rt id="gq84i"><code id="gq84i"><table id="gq84i"></table></code></rt><option id="gq84i"><delect id="gq84i"><dfn id="gq84i"></dfn></delect></option><source id="gq84i"></source><strike id="gq84i"></strike><nav id="gq84i"><li id="gq84i"><option id="gq84i"></option></li></nav><optgroup id="gq84i"></optgroup><strike id="gq84i"></strike><tr id="gq84i"></tr><dfn id="gq84i"></dfn><td id="gq84i"></td><kbd id="gq84i"></kbd><kbd id="gq84i"></kbd><button id="gq84i"><samp id="gq84i"><tbody id="gq84i"></tbody></samp></button><center id="gq84i"><dd id="gq84i"><th id="gq84i"></th></dd></center><blockquote id="gq84i"><tfoot id="gq84i"><object id="gq84i"></object></tfoot></blockquote><nav id="gq84i"></nav><sup id="gq84i"><center id="gq84i"><dl id="gq84i"></dl></center></sup><tbody id="gq84i"></tbody><source id="gq84i"></source><samp id="gq84i"><tfoot id="gq84i"><source id="gq84i"></source></tfoot></samp><tr id="gq84i"><sup id="gq84i"><center id="gq84i"></center></sup></tr><td id="gq84i"></td><strike id="gq84i"><s id="gq84i"><bdo id="gq84i"></bdo></s></strike><ul id="gq84i"></ul><center id="gq84i"></center><dd id="gq84i"></dd><th id="gq84i"></th><abbr id="gq84i"></abbr><blockquote id="gq84i"></blockquote><dfn id="gq84i"><td id="gq84i"><fieldset id="gq84i"></fieldset></td></dfn><tbody id="gq84i"></tbody><code id="gq84i"></code><s id="gq84i"></s><blockquote id="gq84i"></blockquote><table id="gq84i"></table><cite id="gq84i"></cite><input id="gq84i"></input><blockquote id="gq84i"><tfoot id="gq84i"><object id="gq84i"></object></tfoot></blockquote><menu id="gq84i"></menu><option id="gq84i"><delect id="gq84i"><tr id="gq84i"></tr></delect></option><tr id="gq84i"></tr><tr id="gq84i"></tr><rt id="gq84i"></rt><pre id="gq84i"></pre><code id="gq84i"></code><th id="gq84i"></th><kbd id="gq84i"></kbd><noframes id="gq84i"></noframes><dl id="gq84i"><input id="gq84i"><tbody id="gq84i"></tbody></input></dl><center id="gq84i"></center><optgroup id="gq84i"><abbr id="gq84i"><button id="gq84i"></button></abbr></optgroup><abbr id="gq84i"></abbr><blockquote id="gq84i"><tfoot id="gq84i"><object id="gq84i"></object></tfoot></blockquote><nav id="gq84i"><li id="gq84i"><acronym id="gq84i"></acronym></li></nav><acronym id="gq84i"></acronym><button id="gq84i"><samp id="gq84i"><pre id="gq84i"></pre></samp></button><center id="gq84i"></center><xmp id="gq84i"></xmp><tr id="gq84i"><s id="gq84i"><code id="gq84i"></code></s></tr><button id="gq84i"></button><noscript id="gq84i"></noscript><th id="gq84i"><menu id="gq84i"><noscript id="gq84i"></noscript></menu></th><ul id="gq84i"><pre id="gq84i"><dd id="gq84i"></dd></pre></ul><pre id="gq84i"></pre><input id="gq84i"></input><table id="gq84i"></table><pre id="gq84i"><wbr id="gq84i"><cite id="gq84i"></cite></wbr></pre><center id="gq84i"></center><del id="gq84i"></del><th id="gq84i"><menu id="gq84i"><bdo id="gq84i"></bdo></menu></th><ul id="gq84i"></ul><input id="gq84i"><abbr id="gq84i"><button id="gq84i"></button></abbr></input><center id="gq84i"><dl id="gq84i"><object id="gq84i"></object></dl></center><center id="gq84i"></center><abbr id="gq84i"><pre id="gq84i"><blockquote id="gq84i"></blockquote></pre></abbr><tfoot id="gq84i"></tfoot><tr id="gq84i"></tr><button id="gq84i"><samp id="gq84i"><pre id="gq84i"></pre></samp></button><button id="gq84i"></button><tfoot id="gq84i"></tfoot><s id="gq84i"><bdo id="gq84i"><table id="gq84i"></table></bdo></s><acronym id="gq84i"></acronym><tr id="gq84i"></tr><strike id="gq84i"></strike><center id="gq84i"></center><pre id="gq84i"></pre><em id="gq84i"></em><dfn id="gq84i"><td id="gq84i"><dl id="gq84i"></dl></td></dfn><dd id="gq84i"></dd><center id="gq84i"><wbr id="gq84i"><th id="gq84i"></th></wbr></center><center id="gq84i"></center><em id="gq84i"></em><th id="gq84i"><menu id="gq84i"><noscript id="gq84i"></noscript></menu></th><optgroup id="gq84i"><abbr id="gq84i"><button id="gq84i"></button></abbr></optgroup><dl id="gq84i"></dl><tr id="gq84i"></tr><td id="gq84i"></td><optgroup id="gq84i"></optgroup><kbd id="gq84i"><center id="gq84i"><dd id="gq84i"></dd></center></kbd><th id="gq84i"><menu id="gq84i"><noscript id="gq84i"></noscript></menu></th><bdo id="gq84i"><option id="gq84i"><del id="gq84i"></del></option></bdo><pre id="gq84i"></pre><samp id="gq84i"></samp></div> </html> <script> $(".con img").each(function(){ var src = $(this).attr("src"); //獲取圖片地址 var str=new RegExp("http"); var result=str.test(src); if(result==false){ var url = "https://www.cdcxhl.com"+src; //絕對(duì)路徑 $(this).attr("src",url); } }); window.onload=function(){ document.oncontextmenu=function(){ return false; } } </script>