• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Python教學(xué)中實(shí)用型詞頻統(tǒng)計(jì)案例展示

    2018-01-27 05:58:51鄧擎瓊彭煒明趙世鳳王學(xué)松
    計(jì)算機(jī)教育 2017年12期
    關(guān)鍵詞:用字詞頻李白

    鄧擎瓊,彭煒明,尹 乾,趙世鳳,王學(xué)松

    (北京師范大學(xué)信息科學(xué)與技術(shù)學(xué)院,北京100875)

    1 背景

    Python語(yǔ)言已經(jīng)成為國(guó)際最受歡迎的程序設(shè)計(jì)語(yǔ)言,國(guó)外眾多大學(xué)從2009年開始針對(duì)該語(yǔ)言廣泛開設(shè)相關(guān)課程。然而國(guó)內(nèi)起步較晚,直到2016年,教育部高等學(xué)校大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)才首次建議將Python語(yǔ)言作為程序設(shè)計(jì)入門課程的教學(xué)語(yǔ)言[1],近2年來,國(guó)內(nèi)一批高校逐步開設(shè)了Python語(yǔ)言教學(xué)。由于教學(xué)實(shí)踐時(shí)間尚短,國(guó)內(nèi)Python教學(xué)中多沿用國(guó)外的教學(xué)案例或其他程序設(shè)計(jì)語(yǔ)言的教學(xué)案例,其中前者導(dǎo)致教學(xué)案例缺乏中國(guó)特色,后者導(dǎo)致教學(xué)案例缺乏Python特色。例如針對(duì)文本詞頻統(tǒng)計(jì)這一問題,國(guó)內(nèi)高校往往使用國(guó)外教材或教學(xué)中的案例,對(duì)莎士比亞的經(jīng)典作品《哈姆雷特》[2]、古騰堡文學(xué)作品[3]、美國(guó)總統(tǒng)就職演說等進(jìn)行詞頻統(tǒng)計(jì)和分析,顯然這樣的教學(xué)案例遠(yuǎn)離中國(guó)大學(xué)生的學(xué)習(xí)和生活,因此缺乏吸引力。再如在Python循環(huán)結(jié)構(gòu)的教學(xué)中,國(guó)內(nèi)高校往往還以閏年判斷、打印水仙花數(shù)等問題作為案例[4],這些問題既不是學(xué)生關(guān)心的問題,也不是熱點(diǎn)問題,因此也很難給學(xué)生留下深刻印象。

    而另一方面,Python有強(qiáng)大的計(jì)算生態(tài)環(huán)境,全球有超過十萬(wàn)個(gè)第三方庫(kù),幾乎覆蓋所有技術(shù)領(lǐng)域[5]。依托這樣的生態(tài)圈,國(guó)內(nèi)高校中從事Python教學(xué)的老師可以便捷高效地創(chuàng)建出新的教學(xué)案例。什么樣的教學(xué)案例能引起學(xué)生的共鳴,這是一個(gè)值得思考的問題。針對(duì)上述國(guó)內(nèi)Python教學(xué)案例中的問題,依托Python強(qiáng)大的計(jì)算生態(tài)環(huán)境,我們提出了Python實(shí)用型案例教學(xué)方法。一是通過分析大學(xué)生在學(xué)習(xí)和生活中遇到的實(shí)際問題,構(gòu)建相應(yīng)的教學(xué)案例;二是針對(duì)熱點(diǎn)問題、熱點(diǎn)資訊構(gòu)造教學(xué)案例。這些案例不僅能讓學(xué)生感知Python計(jì)算生態(tài)圈的功能之強(qiáng)大和多樣,更能增強(qiáng)學(xué)生程序設(shè)計(jì)學(xué)習(xí)興趣,激發(fā)學(xué)生自主學(xué)習(xí)和運(yùn)用Python計(jì)算生態(tài),最終提高實(shí)際解決問題的能力。

    本文具體針對(duì)詞頻統(tǒng)計(jì)問題,給出了兩個(gè)教學(xué)案例。一是針對(duì)大學(xué)英語(yǔ)四、六級(jí)考試,通過對(duì)歷年試題分析獲得其中的高頻詞,輔助學(xué)生進(jìn)行英語(yǔ)復(fù)習(xí);二是在中央電視臺(tái)科教頻道大型文化益智節(jié)目《中國(guó)詩(shī)詞大會(huì)》的引領(lǐng)下,帶動(dòng)學(xué)生對(duì)不同詩(shī)人、不同朝代以及不同風(fēng)格的詩(shī)詞進(jìn)行比較,從中分享詩(shī)詞之美,感受詩(shī)詞之趣。

    2 大學(xué)英語(yǔ)四、六級(jí)考試高頻詞分析

    我們對(duì)大學(xué)英語(yǔ)四、六級(jí)歷年考試真題進(jìn)行分析,從中挖掘出常考詞。這一案例對(duì)學(xué)生吸引力非常大,且案例運(yùn)行結(jié)果實(shí)用性強(qiáng),能輔助學(xué)生進(jìn)行復(fù)習(xí),提高考試成績(jī)。

    該案例是一項(xiàng)綜合性案例,展示了Python多個(gè)知識(shí)點(diǎn)的運(yùn)用,包括:首先利用Reqests和Beatifulsoup兩個(gè)Python第三方庫(kù)爬取相關(guān)網(wǎng)頁(yè)獲得英語(yǔ)考試歷年考題以及四、六級(jí)詞匯表;然后對(duì)試題文本進(jìn)行規(guī)范化處理,得到其中的四級(jí)或六級(jí)單詞,并進(jìn)行詞頻統(tǒng)計(jì);最后把詞頻統(tǒng)計(jì)結(jié)果保存為CSV文件,并利用Matplotlib庫(kù)對(duì)高頻詞及每年出現(xiàn)次數(shù)進(jìn)行直觀顯示。下面以英語(yǔ)六級(jí)考試為例,詳細(xì)介紹該案例的具體實(shí)現(xiàn)過程及結(jié)果。

    2.1 歷年試題及詞匯表的獲取

    很多英語(yǔ)學(xué)習(xí)網(wǎng)站,如新東方在線、滬江英語(yǔ)等都提供歷年考試真題和單詞詞匯表。通過比較這些網(wǎng)站,最終我們選擇在http://www.233.com/cet4/zhuanti/linianzhenti/上爬取2014年6月至2016年12月的考試真題,以及在http://cet6.koolearn.com/20160210/796642.html上爬取詞匯表。原因是上述兩個(gè)網(wǎng)站資料相對(duì)齊全且分類整齊,利于進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)獲取。在獲取過程中主要用到requests.get()和BeautifulSoup中的find()方法。其中前者用于得到網(wǎng)頁(yè)內(nèi)容,后者用于從網(wǎng)頁(yè)內(nèi)容中解析和獲取需要的數(shù)據(jù)。為便于后續(xù)分析,在爬取每一年的試題數(shù)據(jù)后,把該數(shù)據(jù)保存為txt文件,存在本地磁盤。單詞詞匯表數(shù)據(jù)做同樣處理。

    2.2 試題中的六級(jí)單詞提取

    通過上述步驟獲得的試題書寫很不規(guī)范,里面含有很多中英文標(biāo)點(diǎn)符號(hào)、中文字符等,且不同句子間經(jīng)常無空格分開,因此需要對(duì)這些文本進(jìn)行規(guī)范化處理。此外,英語(yǔ)單詞存在各種形態(tài)變化:動(dòng)詞的多種時(shí)態(tài)(過去時(shí)、過去完成時(shí)、一般現(xiàn)在時(shí)和現(xiàn)在進(jìn)行時(shí))、名詞復(fù)數(shù)形式、形容詞比較級(jí)等。而六級(jí)詞匯表中保存的都是單詞原型,如動(dòng)詞為一般現(xiàn)在時(shí)態(tài)、名詞為單數(shù)形式等。因此,單詞提取還包括一個(gè)“詞形還原”的過程,即對(duì)不同時(shí)態(tài)變化的動(dòng)詞、復(fù)數(shù)名詞、比較級(jí)形容詞等進(jìn)行還原處理,得到原型單詞(即詞元)。之后再判斷該單詞是否為六級(jí)單詞,如果是則保存至一個(gè)列表;不是則摒棄。詞形還原在自然語(yǔ)言處理中非常常見。常用第三方模塊NLTK來處理。處理過程一般為:首先用字符串的split()方法或NLTK提供的分句工具(例如punktsentencesegmenter)把整套試題分解成一個(gè)一個(gè)的句子,然后對(duì)每一個(gè)句子用NLTK提供的工具(例如word_tokenize和pos_tag)對(duì)其進(jìn)行分詞和詞性標(biāo)注,得到該句子中的每一個(gè)單詞和它的詞性,之后對(duì)每個(gè)單詞根據(jù)其詞性采用NLTK提供的詞性還原工具(例如WordNetLemmatizer)得到對(duì)應(yīng)的詞元。這樣得到的詞元很準(zhǔn)確,但國(guó)內(nèi)大多數(shù)高校將Python是作為入門語(yǔ)言進(jìn)行教學(xué),上述NLTK模塊的實(shí)現(xiàn)有些難度,因此可根據(jù)教學(xué)情況采用簡(jiǎn)化方法。例如,可采用字符串的方法對(duì)一般化變形的動(dòng)詞和名詞實(shí)現(xiàn)詞形還原,具體代碼如下:

    importstring

    defloadExamp(fname):#fname為一套txt試題文件

    withopen(fname,'rt',encoding='UTF-8')asf:

    text=f.read().lower()

    lst=[]#lst保存試題中包含的六級(jí)單詞

    text=text.replace('--','')

    text=text.replace('(','')

    text=text.replace(')','')

    text=text.replace('?','')#去除無空格分割的標(biāo)點(diǎn)符號(hào)

    wordlist=text.split()

    forwordinwordlist:

    word=word.strip(',。:、!“”‘’{}【】()')#去除中文標(biāo)點(diǎn)符號(hào)

    word=word.strip(string.punctuation)#去除英文標(biāo)點(diǎn)符號(hào)

    ifwordincet6:

    #cet6為六級(jí)單詞列表,下面為詞形還原過程

    lst.append(word)

    elifword.endswith(('s','ed'))andword[0:-1]incet6:#例works→work、liked→like

    lst.append(word[0:-1])

    elifword.endswith(('es','ed'))andword[0:-2]in cet6:#例boxes→box、worked→work

    lst.append(word[0:-2])

    elifword.endswith('ing'):

    ifword[0:-3]incet6:lst.append(word[0:-3])#例:working→work

    elifword[0:-3]+'e'incet6:lst.append(word[0:-3]+'e')#例:liking→like

    elifword.endswith(('ies','ied'))andword[0:-3]+'y'incet6:

    lst.append(word[0:-3]+'y')#例:studies、studied→study

    returnlst

    該過程也可采用Python中的標(biāo)準(zhǔn)模塊——re模塊來實(shí)現(xiàn),這樣會(huì)更簡(jiǎn)潔,具體代碼如下:

    importre

    defloadExamp(fname):#fname為一套txt試題文件

    withopen(fname,'rt',encoding='UTF-8')asf:

    text=f.read()

    lst=[]#lst保存試題中包含的六級(jí)單詞

    forwordinre.findall('[A-Z]?[a-z]+',text):

    #提取英語(yǔ)單詞

    word=word.lower()

    ifwordincet6:#cet6為六級(jí)單詞列表

    lst.append(word)

    else:#詞形還原后再判斷是否為六級(jí)單詞

    forrulein[('(s|e[ds]|ing)$',''),('(e[ds]|ing)$','e'),('ie[sd]$','y')]:

    stem=re.sub(rule[0],rule[1],word)

    ifstemincet6:

    lst.append(stem)

    break

    returnlst

    2.3 六級(jí)單詞詞頻統(tǒng)計(jì)

    在得到每一年試題中所出現(xiàn)的六級(jí)單詞列表之后,統(tǒng)計(jì)單詞頻率就變成很簡(jiǎn)單。同樣,有多種實(shí)現(xiàn)方式,具體代碼如下所示:

    #wordDec保存詞頻統(tǒng)計(jì)結(jié)果,examList為每份試題中出現(xiàn)的六級(jí)單詞列表,cet6為六級(jí)單詞列表

    #方法1

    wordDec={}

    forwincet6:

    wordDec[w]=examList.count(w)

    #方法2

    wordDct=dict.fromkeys(cet6,0)

    forwinexamList:

    wordDct[w]+=1

    #方法3

    fromcollectionsimportCounter

    wordDct=Counter(examList)

    其中方法1和方法2采用字典和列表實(shí)現(xiàn),方法3則采用標(biāo)準(zhǔn)庫(kù)collections中的Counter類實(shí)現(xiàn)。相比之下,方法1效率低,不推薦使用。在每一年試題的六級(jí)單詞詞頻的基礎(chǔ)上,進(jìn)一步計(jì)算平均詞頻,然后采用Python內(nèi)置函數(shù)sorted()根據(jù)平均詞頻從高到低進(jìn)行排序,排在前面的單詞即為近幾年考試中的高頻詞。當(dāng)然,實(shí)現(xiàn)方法不限于上述3種,例如還可采用Python第三方模塊Pandas,把每一年試題所用的六級(jí)單詞列表作為一個(gè)Series對(duì)象,然后采用value_counts()方法可得到詞頻,并把所有年份的詞頻結(jié)果制成一張表格,即一個(gè)DataFrame對(duì)象,之后采用其apply()方法作用到表格的每一行得到平均詞頻,最后采用sort_values()方法根據(jù)平均詞頻對(duì)所有行進(jìn)行逆序排序,具體代碼如下:

    importpandasaspd

    examPd=pd.DataFrame(meanList,columns=['詞義',],index=cet6)#meanList為詞義列表

    examPd.index.name='單詞'

    fori,examListinenumerate(examLists):

    #對(duì)歷年試題做詞頻統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果保存為表格中的一列

    tempPd=pd.Series(examList)statistic=tempPd.value_counts()

    examPd[examFileName[i]]=statistic

    #examFileName為歷年試題對(duì)應(yīng)的文件名列表

    filledExamPd=examPd.fillna(value=0)

    iflledExamPd['平均次數(shù)']=filledExamPd.iloc[:,1:].apply(lambdax:x.sum()/fileNum,axis=1)

    sortedExamPd=filledExamPd.sort_values(by='平均次數(shù)',ascending=False)

    2.4 詞頻統(tǒng)計(jì)結(jié)果保存和展示

    把根據(jù)平均詞頻逆序排序后的歷年詞頻統(tǒng)計(jì)結(jié)果和平均詞頻以csv文件格式保存在本地磁盤中。csv是逗號(hào)分隔符文本格式,常用于Excel和數(shù)據(jù)庫(kù)的數(shù)據(jù)導(dǎo)入和導(dǎo)出。Python標(biāo)準(zhǔn)庫(kù)中的csv模塊提供了讀取和寫入csv格式文件的兩個(gè)對(duì)象:csv.reader和csv.writer。在本案例中,可利用csv.writer對(duì)象中的writerow()和writerows()方法分別寫入一行或多行數(shù)據(jù)。也可直接采用第三方模塊Pandas的DataFrame對(duì)象的to_csv()方法,更便捷地保存表格數(shù)據(jù)。文件保存結(jié)果如圖1所示,文件中的第一列是單詞,第二列是詞義,中間列是歷年試題的詞頻統(tǒng)計(jì)結(jié)果,最后一列是平均詞頻。

    為更直觀地呈現(xiàn)結(jié)果,本案例通過第三方模塊Matplotlib采用柱狀圖的方式對(duì)高頻詞及每年出現(xiàn)次數(shù)進(jìn)行展示。如果統(tǒng)計(jì)結(jié)果表示成一個(gè)Pandas的DataFrame對(duì)象,則直接用該對(duì)象的plot(kind='bar')方法進(jìn)行柱狀圖繪制,因?yàn)镻andas整合了matplotlib的pyplot模塊中的函數(shù),提供了專門用于Series和DataFrame對(duì)象的繪圖功能。圖2展示了平均詞頻最大的三個(gè)單詞近年來的各自使用次數(shù)。進(jìn)一步,經(jīng)過統(tǒng)計(jì)得到:在所有試題中都出現(xiàn)了的單詞只有兩個(gè):correspond和given,而近年來在試題中出現(xiàn)過的六級(jí)單詞,即平均詞頻不為0的單詞有855個(gè)。

    圖1 六級(jí)單詞詞頻統(tǒng)計(jì)保存結(jié)果

    3 古詩(shī)字頻統(tǒng)計(jì)及可視化展示

    隨著央視首檔全民參與的詩(shī)詞節(jié)目《中國(guó)詩(shī)詞大會(huì)》的熱播,高校重新刮起了一股文化清風(fēng),學(xué)生對(duì)各詩(shī)人們的詩(shī)詞和風(fēng)格、古人行酒令時(shí)的文字游戲“飛花令”等產(chǎn)生了濃厚的興趣。為此,我們?cè)O(shè)計(jì)了古詩(shī)字頻統(tǒng)計(jì)及可視化展示案例。中國(guó)古詩(shī),無論篇幅短長(zhǎng),用字的凝練都是非常講究的。詩(shī)人在擇取意象、推敲用字時(shí),由于其時(shí)代背景、生活經(jīng)歷的不同,通常會(huì)表現(xiàn)出特定的偏好,形成不同的風(fēng)格。因此,可以通過對(duì)不同詩(shī)人用字情況的對(duì)比分析來窺探詩(shī)人的詩(shī)風(fēng)。對(duì)于計(jì)算機(jī)專業(yè)背景的大學(xué)生來說,這是以理科方法來研究文科內(nèi)容的嘗試,文理交叉,學(xué)以致用。下面以李白、杜甫為例,詳細(xì)介紹古詩(shī)字頻統(tǒng)計(jì)及其可視化展示的案例實(shí)施過程。

    3.1 古詩(shī)獲取及文本預(yù)處理

    中國(guó)古詩(shī)浩如煙海,能夠?yàn)g覽和下載古詩(shī)文本的網(wǎng)站也很多。采用類似2.1節(jié)的方法,我們可以得到大量分類整理的古詩(shī)文本,將其按作者姓名分別存放在不同的文件目錄中。爬取后網(wǎng)頁(yè)文件后除了需要進(jìn)行一般的文本化處理(去除HTML標(biāo)簽)外,還應(yīng)注意文本中可能存在的一些注釋內(nèi)容。例如,在李白《將進(jìn)酒》的文本中混有“與君歌一曲,請(qǐng)君為我傾耳聽。(傾耳聽一作:側(cè)耳聽)”,括號(hào)中內(nèi)容即為字頻統(tǒng)計(jì)的噪聲,可利用re模塊對(duì)此噪聲進(jìn)行刪除。處理后的各詩(shī)人的作品分別保存為CSV文件。其中文件內(nèi)容包括詩(shī)詞名、朝代、作者、詩(shī)詞內(nèi)容以及詩(shī)詞風(fēng)格標(biāo)簽,如圖3所示。

    圖3 李白詩(shī)集保存結(jié)果

    3.2 古詩(shī)字頻統(tǒng)計(jì)和詞云展示

    相對(duì)于四、六級(jí)單詞詞頻統(tǒng)計(jì),古詩(shī)字頻統(tǒng)計(jì)更為簡(jiǎn)單。對(duì)每一位詩(shī)人,首先把他(她)的每一首詩(shī)詞內(nèi)容中的每一個(gè)漢字添加至一個(gè)漢字列表,然后把該漢字列表通過轉(zhuǎn)化成字典等方法得到不重復(fù)漢字集合,最后再通過2.3節(jié)中介紹的詞頻統(tǒng)計(jì)方法得到該詩(shī)人的字頻統(tǒng)計(jì)結(jié)果。值得注意的是,不同詩(shī)人的作品數(shù)量差別較大,因此我們對(duì)詞頻統(tǒng)計(jì)結(jié)果進(jìn)行了歸一化處理,即除以詩(shī)人的作品數(shù)量。圖4分別顯示了李白和杜甫的前十個(gè)使用最頻繁的字及歸一化后的字頻。

    圖4 李白(左)和杜甫(右)的前十個(gè)高頻字和對(duì)應(yīng)的字頻

    圖5 李白(左)和杜甫(右)的詞云繪制結(jié)果

    為更進(jìn)一步對(duì)高頻詞予以視覺上的突出,我們利用Python第三方庫(kù)wordcloud構(gòu)建了詞云。wordcloud庫(kù)功能強(qiáng)大,且簡(jiǎn)單易用。首先構(gòu)建一個(gè)WordCloud對(duì)象,注意由于顯示的是中文,因此需要在構(gòu)建該對(duì)象時(shí),設(shè)置font_path為支持中文的字體的路徑,例如在Windows系統(tǒng)下,font_path可以為'C:WindowsFontssimsun.ttc';然后把上節(jié)中得到的詞頻統(tǒng)計(jì)結(jié)果作為參數(shù)傳遞給WordCloud對(duì)象的fit_words()方法;最后采用matplotlib.pyplot.imshow()函數(shù)進(jìn)行顯示即可。李白和杜甫的詞云繪制結(jié)果如圖5所示。

    3.3 李、杜用字習(xí)慣比較

    可把李白和杜甫兩位詩(shī)人的詩(shī)詞中的高頻字分別用一個(gè)Python集合類型表示,然后采用集合操作對(duì)兩位詩(shī)人的用字習(xí)慣進(jìn)行比較:兩個(gè)集合的交即為兩位詩(shī)人都愛用的字;兩個(gè)集合的差即為其中一位詩(shī)人愛用而另一位詩(shī)人不愛用的字。

    為進(jìn)一步比較兩位詩(shī)人的詩(shī)風(fēng),可求解兩人字頻差異最大的一些字。首先通過兩個(gè)集合的交集得到兩位詩(shī)人總共喜歡的字,然后對(duì)其中的每一個(gè)字,求兩位詩(shī)人的字頻差異的絕對(duì)值,最后根據(jù)該值進(jìn)行逆序排序,排在前面的即為兩位詩(shī)人用字習(xí)慣差異最大的字。為直觀地顯示這些字以及對(duì)應(yīng)的字頻,可采用Matplotlib柱狀圖的方式進(jìn)行繪制,其中差異最大的前10個(gè)字的結(jié)果如圖6所示。

    3.4 擴(kuò)展

    為了更加有效地統(tǒng)計(jì)、比較并直觀顯示不同詩(shī)人的用字習(xí)慣,同時(shí)如“飛花令”游戲中那樣對(duì)特定漢字實(shí)現(xiàn)詩(shī)句鏈接,我們對(duì)上述教學(xué)案例做了進(jìn)一步的擴(kuò)展。首先,詞云的可視化展示改用基于Web的網(wǎng)頁(yè)形式,這樣可以對(duì)其中的漢字添加HTML鏈接。此外,為了方便程序模塊的升級(jí),把圖3所示的表格數(shù)據(jù)都導(dǎo)入sqlite3數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)名:peoms.db,表名:gushi),通過數(shù)據(jù)庫(kù)查詢來實(shí)現(xiàn)可以提高程序的可擴(kuò)展性,具體實(shí)施步驟如下。

    3.4 .1可視化環(huán)境布置與工具介紹

    可視化頁(yè)面采用標(biāo)簽云插件jQCloud(https://github.com/lucaong/jQCloud)作為呈現(xiàn)工具,首先設(shè)置一個(gè)top-left-right的三分屏框架主頁(yè)面index.htm,分別鏈接top.htm(作為標(biāo)題顯示對(duì)比詩(shī)人的姓名)、left.htm(用于顯示左側(cè)詩(shī)人的用字情況)和right.htm(用于顯示右側(cè)詩(shī)人的用字情況),如圖7所示。為了使Python程序邏輯與頁(yè)面顯示邏輯分離,將詩(shī)詞用字統(tǒng)計(jì)的結(jié)果數(shù)據(jù)寫入單獨(dú)的兩個(gè)js文件(data-left.js和dataright.js),在left.htm和right.htm兩個(gè)頁(yè)面中分別導(dǎo)入。

    圖6 李白和杜甫字頻差異最大的10個(gè)字

    圖7 李白/杜甫詩(shī)詞的用字對(duì)比

    以left.htm為例,其HTML代碼如下:

    lt;htmlgt;

    lt;headgt;lt;metahttpequiv="Content-Type"content="text/html;charset=utf8"/gt;

    lt;linkrel="stylesheet"type="text/css"href="css/jqcloud.css"/gt;

    lt;scripttype="text/javascript"src="js/jquery-1.4.4.js"gt;lt;/scriptgt;

    lt;scripttype="text/javascript"src="js/jqcloud-1.0.4.js"gt;lt;/scriptgt;

    lt;scripttype="text/javascript"src="data-left.js"gt;lt;/scriptgt;

    lt;scripttype="text/javascript"gt;

    $(function(){$("#chars").jQCloud(char_list);});

    lt;/scriptgt;

    lt;/headgt;

    lt;bodygt;

    lt;centergt;lt;divid="chars"style="width:480px;height:

    64 0px;border:1pxsolid;"gt;lt;/divgt;lt;/centergt;

    lt;/bodygt;

    lt;/htmlgt;

    3.4 .2字頻統(tǒng)計(jì)與格式化輸出

    數(shù)據(jù)文件格式需求如下:以上節(jié)HTML中的data-left.js為例,即按JSON格式列出李白詩(shī)字頻率相比杜甫詩(shī)字頻率偏高的部分。其中每行屬性說明如下:text為詩(shī)中用字,weight為字頻差(Freq(李白)-Freq(杜甫)),link為該字具體詩(shī)句的鏈接頁(yè)面。

    varchar_list=[

    {text:"月",weight:0.00353834280190,link:{href:"poem/李白-月.htm",target:"_blank"}},

    {text:"天",weight:0.00344150700915,link:{href:"poem/李白-天.htm",target:"_blank"}},

    {text:"海",weight:0.003176168221019,link:{href:"poem/李白-海.htm",target:"_blank"}},

    {text:"金",weight:0.00287300721580,link:{href:"poem/李白-金.htm",target:"_blank"}},

    {text:"山",weight:0.002688791184576,link:{href:"poem/李白-山.htm",target:"_blank"}},

    ……(此處省略更多)

    ];

    生成該數(shù)據(jù)文件的Python代碼及相關(guān)注釋如下:

    importre

    importsqlite3

    fromcollectionsimportCounter

    cxn=sqlite3.connect("./peoms.db")

    defcharfreq(poet):#統(tǒng)計(jì)某位詩(shī)人的所有詩(shī)中漢字分布的頻率,poet為詩(shī)人名字

    counter=Counter()

    regex_han=re.compile(r'[u3400-u9fff]')#匹配漢字的正則表達(dá)式

    cur=cxn.cursor()

    cur.execute("selectbodyfromgushiwhere authorname=?",(poet,))forrowincur:

    counter.update(regex_han.findall(row[0]))#Counter.update()實(shí)現(xiàn)動(dòng)態(tài)更新頻次計(jì)數(shù)

    freqsum=sum(counter.values())#總頻次

    forcharincounter.keys():counter[char]/=freqsum#計(jì)算字的分布頻率

    returncounter defcharcloud(poet_left,poet_right):#求詞頻差,并生成詞云

    cnter_left=charfreq(poet_left)

    cnter_right=charfreq(poet_right)

    withopen('data-left.js','w',encoding='utf8')asf_left:

    f_left.write('varword_list=[ ')

    forchar,freqin(cnter_left-cnter_right).most_

    common(200):#Counter對(duì)象支持求差運(yùn)算,只取前200個(gè)相對(duì)頻率差高的,為詩(shī)人偏好用字。f_left.write('{{text:"{}",weight:{}}}, '.format(char,freq))

    f_left.write(']; ')

    withopen('data-right.js','w',encoding='utf8')asf_left:

    f_right.write('varword_list=[ ')

    forchar,freqin(cnter_right-cnter_left).most_common(200):f_right.write('{{text:"{}",weight:{}}}, '.format(char,freq))

    f_right.write(']; ')

    charcloud('李白','杜甫')

    程序?qū)崿F(xiàn)模塊化后,可以很方便地比較任意兩個(gè)詩(shī)人的用字,李白、杜甫的比較頁(yè)面如圖7所示。

    3.4 .3生成特定漢字的詩(shī)句鏈接頁(yè)面(“飛花令”效果)

    最后一步,為標(biāo)簽云中的每個(gè)用字添加鏈接,點(diǎn)擊后可以查看詩(shī)人使用該字的具體詩(shī)句及出處。因此,修訂函數(shù)charcloud()中的部分代碼,此處僅展示data-left.js文件的生成部分,如下:

    forchar,freqin(cnter_left-cnter_right).most_common(200):

    f_left.write('{{text:"{0}",weight:{1},link:{{href:"poem/left-{0}.htm",target:"_blank"}}, '.format(char,freq))#輸出數(shù)據(jù)中增加鏈接

    gen_verse(poet_left,char)

    #調(diào)用函數(shù),生成詩(shī)人特定用字的詩(shī)句列表,詳下#函數(shù)gen_verse()定義如下:defgen_verse(poet,char):

    withopen('poem/{}-{}'.format(poet,char),'w',encoding='utf8')asfout:

    cur=cxn.cursor()

    forrowincur.execute("selectbodyfromgushi

    whereauthorname=?andbodylike?",(poet,'%{}%'.format(char))):

    forlinein[xforxinre.split(r'[ 。?!]',row[0])ifcharinx]:

    fout.write('lt;pgt;{}lt;/pgt; '.format(line).replace(char,'lt;spancolor="blue"gt;{}lt;/spangt;'.format(char))+'lt;palign="right"gt;——{}《{}》lt;/pgt;lt;/divgt; '.format(poet,fname[0:-4]))

    #詩(shī)句(高亮顯示漢字char)——詩(shī)人《出處》

    以李白詩(shī)中的“?!弊譃槔唧w顯示效果如圖8所示。

    3.4 .4不同朝代及不同風(fēng)格詩(shī)詞比較

    由于我們的詩(shī)詞數(shù)據(jù)采用sqlite3數(shù)據(jù)庫(kù)進(jìn)行保存,同時(shí)每一條數(shù)據(jù)還包含朝代和詩(shī)詞風(fēng)格標(biāo)簽信息,因此,采用類似2.4.2的方法,我們很容易提取出不同朝代或不同風(fēng)格的詩(shī)詞數(shù)據(jù),然后生成對(duì)應(yīng)的標(biāo)簽云,如圖9和圖10所示,從而對(duì)不同朝代或風(fēng)格的詩(shī)詞進(jìn)行比較。

    4 案例的靈活運(yùn)用

    本文給出的兩個(gè)案例均為綜合性案例,涉及Python教學(xué)中的多個(gè)知識(shí)點(diǎn)以及多個(gè)標(biāo)準(zhǔn)模塊和第三方模塊,且有些功能有多種實(shí)現(xiàn)方式。因此,可以作為學(xué)期末大作業(yè)示范案例,也可在學(xué)期中根據(jù)教學(xué)進(jìn)度進(jìn)行靈活拆分和運(yùn)用。例如,在學(xué)習(xí)字符串、字典等Python內(nèi)置數(shù)據(jù)結(jié)構(gòu)時(shí),可把某一年的試題或李白、杜甫若干首詩(shī)作為一個(gè)長(zhǎng)字符串進(jìn)行詞頻統(tǒng)計(jì)練習(xí);在學(xué)習(xí)文件讀寫時(shí),可把每一年的試題或李白、杜甫詩(shī)集作為一個(gè)文本文件進(jìn)行讀操作練習(xí),并通過保存詞頻統(tǒng)計(jì)結(jié)果進(jìn)行寫操作練習(xí);在學(xué)習(xí)網(wǎng)絡(luò)爬蟲時(shí),可練習(xí)從相關(guān)網(wǎng)站上爬取這些內(nèi)容等。

    圖8 “?!弊值脑?shī)句鏈接頁(yè)面

    圖9 不同朝代詩(shī)詞的用字對(duì)比

    圖10 不同風(fēng)格詩(shī)詞的用字對(duì)比

    5 結(jié)語(yǔ)

    基于Python強(qiáng)大的計(jì)算生態(tài)環(huán)境,本文提出“Python實(shí)用型案例教學(xué)”的觀點(diǎn),并具體針對(duì)詞頻統(tǒng)計(jì)問題,給出了大學(xué)英語(yǔ)四、六級(jí)考試高頻詞求解和可視化展示案例以及古詩(shī)詞字頻統(tǒng)計(jì)及可視化展示案例。這兩個(gè)案例都貼近大學(xué)生的學(xué)習(xí)和生活,不僅能讓學(xué)生感知Python計(jì)算生態(tài)圈的功能之強(qiáng)大和多樣,更能增強(qiáng)學(xué)生程序設(shè)計(jì)學(xué)習(xí)興趣,引導(dǎo)學(xué)生自主學(xué)習(xí)和運(yùn)用Python計(jì)算生態(tài),把解決實(shí)際生活和學(xué)習(xí)中的具體任務(wù)作為學(xué)習(xí)的最終目標(biāo),最終提高解決實(shí)際問題的能力。上述教學(xué)理念和案例在北京師范大學(xué)計(jì)算機(jī)專業(yè)2個(gè)學(xué)期課堂教學(xué)實(shí)踐中運(yùn)用,取得了良好的教學(xué)效果。后續(xù)工作中,如何針對(duì)其他不同專業(yè)的應(yīng)用需求,設(shè)計(jì)實(shí)用性和個(gè)性化并存的教學(xué)案例將是下一步Python教改重點(diǎn)。

    [1]教育部高等學(xué)校大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì).大學(xué)計(jì)算機(jī)基礎(chǔ)課程教學(xué)基本要求[M].北京:高等教育出版社,2017.

    [2]嵩天,禮欣,黃天羽.Python語(yǔ)言程序設(shè)計(jì)基礎(chǔ)[M].2版.北京:高等教育出版社,2017:171-174.

    [3]中國(guó)大學(xué)MOOC.用Python玩轉(zhuǎn)數(shù)據(jù)[EB/OL].[2017-10-05].http://www.icourse163.org/course/NJU-1001571005.

    [4]江紅,余青松.Python程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社、北京交通大學(xué)出版社,2014:44,61.

    [5]嵩天,黃天羽,禮欣.面向計(jì)算生態(tài)的Python語(yǔ)言入門課程教學(xué)方案[J].計(jì)算機(jī)教育,2017(8):7-12.

    猜你喜歡
    用字詞頻李白
    容易混淆的詞語(yǔ)
    基于詞頻分析法的社區(qū)公園歸屬感營(yíng)建要素研究
    園林科技(2021年3期)2022-01-19 03:17:48
    《漢語(yǔ)大字典》“人名用字”考誤舉隅
    科技論文表格的編排要求(五):用線和用字
    紙上的李白(三)
    文苑(2018年22期)2018-11-19 02:54:38
    紙上的李白(一)
    文苑(2018年18期)2018-11-08 11:12:44
    倒下的那一刻
    戲劇之家(2016年5期)2016-04-05 16:24:41
    遼代避諱用字“元”
    詞頻,一部隱秘的歷史
    云存儲(chǔ)中支持詞頻和用戶喜好的密文模糊檢索
    午夜福利影视在线免费观看| a级毛片在线看网站| 美女午夜性视频免费| 国产av国产精品国产| 两人在一起打扑克的视频| 狠狠狠狠99中文字幕| 18禁国产床啪视频网站| 999精品在线视频| 亚洲精品中文字幕在线视频| 欧美+亚洲+日韩+国产| 人人妻,人人澡人人爽秒播| 97精品久久久久久久久久精品| 女人爽到高潮嗷嗷叫在线视频| 美女扒开内裤让男人捅视频| 国产精品秋霞免费鲁丝片| 亚洲一码二码三码区别大吗| 一级毛片电影观看| 国产成人精品久久二区二区91| 精品人妻在线不人妻| 日韩制服丝袜自拍偷拍| 97在线人人人人妻| 搡老熟女国产l中国老女人| 久久ye,这里只有精品| 欧美一级毛片孕妇| 久久久国产成人免费| 亚洲一区二区三区欧美精品| 99国产综合亚洲精品| 91精品三级在线观看| 宅男免费午夜| 久久国产精品男人的天堂亚洲| 中文字幕制服av| 黄色视频在线播放观看不卡| 9191精品国产免费久久| 中文字幕最新亚洲高清| 各种免费的搞黄视频| 别揉我奶头~嗯~啊~动态视频 | 中文字幕色久视频| bbb黄色大片| 波多野结衣一区麻豆| 午夜福利在线观看吧| 日韩人妻精品一区2区三区| 免费观看人在逋| 国产在线免费精品| 久久毛片免费看一区二区三区| 久久久久久久大尺度免费视频| 黑人巨大精品欧美一区二区mp4| 精品少妇一区二区三区视频日本电影| 亚洲专区字幕在线| 黄色毛片三级朝国网站| 91精品伊人久久大香线蕉| 爱豆传媒免费全集在线观看| 老司机午夜十八禁免费视频| 日韩有码中文字幕| av网站免费在线观看视频| 精品久久久久久久毛片微露脸 | 天天添夜夜摸| 啦啦啦 在线观看视频| 国产欧美亚洲国产| 国产精品香港三级国产av潘金莲| 精品一区二区三卡| 丁香六月天网| 国产日韩欧美亚洲二区| 女人被躁到高潮嗷嗷叫费观| 日韩免费高清中文字幕av| 久久国产亚洲av麻豆专区| 窝窝影院91人妻| 熟女少妇亚洲综合色aaa.| 免费观看a级毛片全部| 国产黄频视频在线观看| 欧美日韩成人在线一区二区| 在线观看免费日韩欧美大片| 一区在线观看完整版| 女警被强在线播放| 桃红色精品国产亚洲av| 男女下面插进去视频免费观看| 亚洲av欧美aⅴ国产| 国产成人精品久久二区二区91| 丝袜人妻中文字幕| 交换朋友夫妻互换小说| 男女下面插进去视频免费观看| 亚洲黑人精品在线| 国产福利在线免费观看视频| 在线看a的网站| 国产成人精品久久二区二区91| 母亲3免费完整高清在线观看| 性色av乱码一区二区三区2| www.999成人在线观看| 精品人妻熟女毛片av久久网站| 一二三四社区在线视频社区8| 日韩视频一区二区在线观看| 欧美精品人与动牲交sv欧美| 日本av免费视频播放| 免费人妻精品一区二区三区视频| 黄片大片在线免费观看| 汤姆久久久久久久影院中文字幕| 午夜福利在线观看吧| 日本一区二区免费在线视频| 夜夜夜夜夜久久久久| 亚洲欧洲精品一区二区精品久久久| 中文字幕高清在线视频| 欧美精品啪啪一区二区三区 | 丰满饥渴人妻一区二区三| 老司机靠b影院| 国产xxxxx性猛交| 久久av网站| 亚洲av美国av| 99国产综合亚洲精品| 99国产综合亚洲精品| 久久精品成人免费网站| 久久精品久久久久久噜噜老黄| 国产精品秋霞免费鲁丝片| 欧美另类一区| 国产高清视频在线播放一区 | 亚洲熟女精品中文字幕| 亚洲av男天堂| 国产片内射在线| 午夜免费鲁丝| 啦啦啦中文免费视频观看日本| 久久国产亚洲av麻豆专区| 中文字幕精品免费在线观看视频| 曰老女人黄片| 曰老女人黄片| 热re99久久精品国产66热6| 飞空精品影院首页| 韩国精品一区二区三区| videos熟女内射| 在线观看免费视频网站a站| 久久亚洲国产成人精品v| 国产精品香港三级国产av潘金莲| 久久亚洲精品不卡| 亚洲第一青青草原| 久久久久精品人妻al黑| 久久女婷五月综合色啪小说| 亚洲黑人精品在线| 人成视频在线观看免费观看| 黑丝袜美女国产一区| 老鸭窝网址在线观看| 久久精品亚洲av国产电影网| 日本一区二区免费在线视频| 人人妻人人澡人人看| 老司机午夜十八禁免费视频| 亚洲免费av在线视频| 十分钟在线观看高清视频www| 在线av久久热| 爱豆传媒免费全集在线观看| 精品欧美一区二区三区在线| 人妻久久中文字幕网| 国产激情久久老熟女| 日本猛色少妇xxxxx猛交久久| 成人国产av品久久久| 一本一本久久a久久精品综合妖精| 久久亚洲国产成人精品v| 亚洲人成77777在线视频| 亚洲国产精品一区二区三区在线| 国产免费福利视频在线观看| 久久精品国产亚洲av高清一级| 久久天躁狠狠躁夜夜2o2o| 亚洲五月婷婷丁香| 国产精品秋霞免费鲁丝片| 老司机午夜福利在线观看视频 | 亚洲av美国av| 亚洲性夜色夜夜综合| 伊人亚洲综合成人网| 一区二区三区精品91| 制服诱惑二区| 99热国产这里只有精品6| 狂野欧美激情性xxxx| 国产片内射在线| 国产1区2区3区精品| 亚洲自偷自拍图片 自拍| 国产精品免费视频内射| 999精品在线视频| 91成人精品电影| 一区二区日韩欧美中文字幕| 免费在线观看完整版高清| 久久女婷五月综合色啪小说| 91av网站免费观看| 久久久久久久久久久久大奶| 后天国语完整版免费观看| 精品一区二区三区四区五区乱码| av网站在线播放免费| 91老司机精品| 色播在线永久视频| 欧美性长视频在线观看| 在线观看www视频免费| 自线自在国产av| 国产淫语在线视频| 99国产精品免费福利视频| 美女脱内裤让男人舔精品视频| 男女免费视频国产| 黄片大片在线免费观看| 99久久国产精品久久久| 首页视频小说图片口味搜索| 美女扒开内裤让男人捅视频| 久久综合国产亚洲精品| 精品国产国语对白av| 日韩 亚洲 欧美在线| 久久久久久久国产电影| 欧美av亚洲av综合av国产av| 人妻 亚洲 视频| 黄色视频不卡| 51午夜福利影视在线观看| 欧美日韩视频精品一区| 国产精品秋霞免费鲁丝片| 美女扒开内裤让男人捅视频| 两个人看的免费小视频| 精品国产国语对白av| 亚洲五月色婷婷综合| 国产精品影院久久| 人妻 亚洲 视频| 亚洲欧美一区二区三区黑人| 在线观看免费日韩欧美大片| 亚洲av男天堂| 精品少妇内射三级| 亚洲精品在线美女| 一二三四社区在线视频社区8| 99久久精品国产亚洲精品| 久久久久国产一级毛片高清牌| 久久午夜综合久久蜜桃| 99久久99久久久精品蜜桃| 亚洲精品在线美女| 精品亚洲成国产av| 深夜精品福利| 国产成人精品无人区| 成人手机av| av网站在线播放免费| 脱女人内裤的视频| 欧美精品啪啪一区二区三区 | 国产在线一区二区三区精| 少妇被粗大的猛进出69影院| 国产精品.久久久| 视频在线观看一区二区三区| 日韩一卡2卡3卡4卡2021年| 国产激情久久老熟女| 亚洲中文日韩欧美视频| 久久久久久人人人人人| 一本一本久久a久久精品综合妖精| 亚洲一区二区三区欧美精品| √禁漫天堂资源中文www| 九色亚洲精品在线播放| 日韩精品免费视频一区二区三区| 成年美女黄网站色视频大全免费| 亚洲国产av新网站| 9191精品国产免费久久| 99久久人妻综合| 性高湖久久久久久久久免费观看| 一进一出抽搐动态| 啦啦啦中文免费视频观看日本| 婷婷色av中文字幕| 亚洲视频免费观看视频| 又大又爽又粗| 精品欧美一区二区三区在线| 9191精品国产免费久久| 纯流量卡能插随身wifi吗| 亚洲久久久国产精品| 麻豆国产av国片精品| 人人澡人人妻人| 亚洲专区国产一区二区| 亚洲国产看品久久| 欧美xxⅹ黑人| 亚洲国产av新网站| 91精品伊人久久大香线蕉| 国产欧美日韩一区二区三区在线| 国产欧美日韩精品亚洲av| 欧美日韩成人在线一区二区| 午夜免费鲁丝| 亚洲全国av大片| 91精品三级在线观看| 两性夫妻黄色片| 日本av手机在线免费观看| 啦啦啦啦在线视频资源| 精品人妻熟女毛片av久久网站| 两性夫妻黄色片| 高潮久久久久久久久久久不卡| 18禁观看日本| 国产欧美亚洲国产| 国产一区二区三区av在线| 精品国产乱子伦一区二区三区 | 狠狠婷婷综合久久久久久88av| 首页视频小说图片口味搜索| 中文字幕精品免费在线观看视频| 日本91视频免费播放| 国产亚洲精品久久久久5区| 亚洲成国产人片在线观看| 亚洲精品国产av成人精品| 嫩草影视91久久| 色94色欧美一区二区| 免费观看a级毛片全部| 一级毛片精品| 亚洲精品国产av蜜桃| 一二三四社区在线视频社区8| 超色免费av| 50天的宝宝边吃奶边哭怎么回事| 超碰97精品在线观看| 国产在线视频一区二区| 成人手机av| 久久青草综合色| 18禁观看日本| 国产成人精品在线电影| 亚洲伊人久久精品综合| 搡老熟女国产l中国老女人| 丝瓜视频免费看黄片| 国产精品一区二区在线观看99| 两人在一起打扑克的视频| 精品久久久精品久久久| 免费黄频网站在线观看国产| 中文字幕人妻丝袜制服| 自拍欧美九色日韩亚洲蝌蚪91| 秋霞在线观看毛片| 久久精品aⅴ一区二区三区四区| 母亲3免费完整高清在线观看| 午夜成年电影在线免费观看| 狂野欧美激情性bbbbbb| 一本一本久久a久久精品综合妖精| 欧美日韩一级在线毛片| 亚洲成人手机| 亚洲国产毛片av蜜桃av| 国产黄色免费在线视频| 亚洲情色 制服丝袜| 国产无遮挡羞羞视频在线观看| 亚洲视频免费观看视频| 精品福利永久在线观看| √禁漫天堂资源中文www| 啦啦啦啦在线视频资源| 亚洲精品中文字幕一二三四区 | 人人澡人人妻人| 精品亚洲乱码少妇综合久久| 俄罗斯特黄特色一大片| 十分钟在线观看高清视频www| 超碰成人久久| 国产免费av片在线观看野外av| 一级,二级,三级黄色视频| 黑人猛操日本美女一级片| 精品少妇一区二区三区视频日本电影| 18禁国产床啪视频网站| 91国产中文字幕| av在线播放精品| 狠狠精品人妻久久久久久综合| 国产精品一区二区在线观看99| av片东京热男人的天堂| 一边摸一边抽搐一进一出视频| av视频免费观看在线观看| 国产欧美日韩一区二区精品| 天堂中文最新版在线下载| 欧美黄色淫秽网站| 精品福利观看| 久久久国产精品麻豆| 女警被强在线播放| 亚洲专区字幕在线| 热99久久久久精品小说推荐| 操出白浆在线播放| 国产成人a∨麻豆精品| 亚洲精品一区蜜桃| 美女脱内裤让男人舔精品视频| 国产麻豆69| 美国免费a级毛片| 日韩制服丝袜自拍偷拍| 一本一本久久a久久精品综合妖精| 两性夫妻黄色片| 久久久久久久精品精品| 极品少妇高潮喷水抽搐| 亚洲视频免费观看视频| 日韩人妻精品一区2区三区| 亚洲欧洲精品一区二区精品久久久| 国产亚洲av高清不卡| 欧美激情 高清一区二区三区| 国产一区二区三区av在线| 啦啦啦中文免费视频观看日本| 在线亚洲精品国产二区图片欧美| 女人久久www免费人成看片| 极品人妻少妇av视频| 精品久久久精品久久久| 午夜影院在线不卡| 久久久久久久久久久久大奶| 男女国产视频网站| 建设人人有责人人尽责人人享有的| 91精品三级在线观看| 99久久国产精品久久久| 午夜福利影视在线免费观看| 啦啦啦免费观看视频1| 久久天躁狠狠躁夜夜2o2o| 人人澡人人妻人| 新久久久久国产一级毛片| 中亚洲国语对白在线视频| 亚洲欧美日韩高清在线视频 | 黑人操中国人逼视频| 在线观看人妻少妇| 久久久久国内视频| 啦啦啦在线免费观看视频4| 午夜福利视频在线观看免费| 免费高清在线观看视频在线观看| 国精品久久久久久国模美| 午夜影院在线不卡| 国产色视频综合| 亚洲自偷自拍图片 自拍| 亚洲成人国产一区在线观看| 精品熟女少妇八av免费久了| 老熟妇乱子伦视频在线观看 | 久久九九热精品免费| 欧美 亚洲 国产 日韩一| 人妻 亚洲 视频| 99香蕉大伊视频| 日韩免费高清中文字幕av| 1024香蕉在线观看| 久久这里只有精品19| 欧美日韩精品网址| 亚洲久久久国产精品| 十分钟在线观看高清视频www| 激情视频va一区二区三区| 免费观看人在逋| 国产片内射在线| 久久精品国产a三级三级三级| 交换朋友夫妻互换小说| 脱女人内裤的视频| 日韩 欧美 亚洲 中文字幕| 一级,二级,三级黄色视频| 一级毛片女人18水好多| 午夜福利视频在线观看免费| 人成视频在线观看免费观看| 91老司机精品| 亚洲全国av大片| 肉色欧美久久久久久久蜜桃| 精品一区在线观看国产| 欧美+亚洲+日韩+国产| 电影成人av| 脱女人内裤的视频| 免费少妇av软件| 两性夫妻黄色片| 国产精品久久久久成人av| 80岁老熟妇乱子伦牲交| 99香蕉大伊视频| 免费在线观看视频国产中文字幕亚洲 | 精品国产国语对白av| 少妇被粗大的猛进出69影院| 久久久久视频综合| 国产欧美日韩一区二区三区在线| 男女边摸边吃奶| 午夜日韩欧美国产| 欧美变态另类bdsm刘玥| 亚洲天堂av无毛| 色婷婷久久久亚洲欧美| 十八禁网站免费在线| 欧美黄色淫秽网站| 每晚都被弄得嗷嗷叫到高潮| 80岁老熟妇乱子伦牲交| 国产精品一区二区在线观看99| 美女扒开内裤让男人捅视频| 久久久久久人人人人人| 亚洲欧美一区二区三区黑人| 青青草视频在线视频观看| 天天躁狠狠躁夜夜躁狠狠躁| 欧美日韩成人在线一区二区| 丰满少妇做爰视频| 国产不卡av网站在线观看| 亚洲伊人久久精品综合| 日韩一区二区三区影片| 狠狠婷婷综合久久久久久88av| 久久久精品94久久精品| 成年av动漫网址| 亚洲精品自拍成人| 黑人操中国人逼视频| 欧美激情 高清一区二区三区| 操美女的视频在线观看| 欧美成人午夜精品| 久久人妻福利社区极品人妻图片| 制服人妻中文乱码| 国产在线观看jvid| 久久精品久久久久久噜噜老黄| 国产精品一区二区精品视频观看| 国产一区二区三区在线臀色熟女 | 欧美国产精品一级二级三级| 无遮挡黄片免费观看| 国产成人av教育| 亚洲精品在线美女| 久久国产精品影院| 欧美激情高清一区二区三区| 精品少妇内射三级| 欧美激情极品国产一区二区三区| 少妇的丰满在线观看| 国产在线一区二区三区精| 久久性视频一级片| 国产精品久久久久久精品电影小说| 99国产综合亚洲精品| 免费在线观看日本一区| 蜜桃在线观看..| 欧美另类亚洲清纯唯美| 国产在线一区二区三区精| 中文字幕人妻熟女乱码| 精品少妇一区二区三区视频日本电影| 91av网站免费观看| 人人妻人人添人人爽欧美一区卜| 精品国产一区二区三区四区第35| 免费在线观看黄色视频的| 一边摸一边抽搐一进一出视频| 午夜福利免费观看在线| 国产日韩一区二区三区精品不卡| 成年动漫av网址| 亚洲免费av在线视频| 女人被躁到高潮嗷嗷叫费观| 91国产中文字幕| 黄色视频在线播放观看不卡| 成人亚洲精品一区在线观看| 91大片在线观看| 一个人免费看片子| 99精品久久久久人妻精品| 一级黄色大片毛片| 欧美日韩亚洲综合一区二区三区_| 日本av手机在线免费观看| 欧美黑人精品巨大| 夜夜夜夜夜久久久久| 黑人巨大精品欧美一区二区蜜桃| 久久九九热精品免费| 五月天丁香电影| 亚洲九九香蕉| 青青草视频在线视频观看| 在线永久观看黄色视频| 一级片'在线观看视频| 精品人妻一区二区三区麻豆| 日本av免费视频播放| 美女国产高潮福利片在线看| 日韩视频一区二区在线观看| av在线播放精品| 久久亚洲国产成人精品v| 国产成人啪精品午夜网站| av天堂在线播放| 日韩有码中文字幕| 蜜桃国产av成人99| 十八禁人妻一区二区| 国产精品一区二区精品视频观看| 精品免费久久久久久久清纯 | 亚洲精品一二三| 国产高清videossex| 美女午夜性视频免费| 最新在线观看一区二区三区| 欧美+亚洲+日韩+国产| 69精品国产乱码久久久| 欧美成人午夜精品| 国产免费福利视频在线观看| netflix在线观看网站| 国产免费现黄频在线看| 50天的宝宝边吃奶边哭怎么回事| 热99久久久久精品小说推荐| 欧美中文综合在线视频| 国产又爽黄色视频| 一本色道久久久久久精品综合| 精品人妻1区二区| 三级毛片av免费| 丝袜在线中文字幕| 欧美精品一区二区免费开放| 秋霞在线观看毛片| 亚洲黑人精品在线| 老司机亚洲免费影院| 国产亚洲精品久久久久5区| 精品国产国语对白av| 国产免费现黄频在线看| 啦啦啦视频在线资源免费观看| 在线精品无人区一区二区三| 丰满迷人的少妇在线观看| 久久久欧美国产精品| 亚洲欧洲日产国产| 成年动漫av网址| 欧美日韩亚洲国产一区二区在线观看 | 又黄又粗又硬又大视频| 久久国产精品大桥未久av| 男男h啪啪无遮挡| 国产三级黄色录像| 中文字幕av电影在线播放| 亚洲国产日韩一区二区| 高潮久久久久久久久久久不卡| 欧美黑人欧美精品刺激| 9色porny在线观看| 亚洲男人天堂网一区| 久久热在线av| 美女高潮喷水抽搐中文字幕| 国产人伦9x9x在线观看| 久久毛片免费看一区二区三区| 欧美另类一区| 久久精品国产亚洲av香蕉五月 | 亚洲国产毛片av蜜桃av| 首页视频小说图片口味搜索| 国产亚洲精品第一综合不卡| 亚洲av男天堂| 丁香六月天网| 日韩中文字幕视频在线看片| 国产一区有黄有色的免费视频| 国产成人欧美在线观看 | 老司机午夜福利在线观看视频 | 蜜桃国产av成人99| 久9热在线精品视频| 飞空精品影院首页| 免费在线观看黄色视频的| 91字幕亚洲| 一本色道久久久久久精品综合| 国产精品香港三级国产av潘金莲| 正在播放国产对白刺激| 捣出白浆h1v1| 91精品伊人久久大香线蕉| 美女脱内裤让男人舔精品视频| 成年人午夜在线观看视频| 啪啪无遮挡十八禁网站| 亚洲五月色婷婷综合| 日本av免费视频播放| 久久久久久久国产电影| av片东京热男人的天堂| 无遮挡黄片免费观看| 国产成人啪精品午夜网站| 1024香蕉在线观看| av在线播放精品| 国产精品av久久久久免费| 亚洲va日本ⅴa欧美va伊人久久 | 可以免费在线观看a视频的电影网站| 久久精品aⅴ一区二区三区四区| 亚洲情色 制服丝袜| 五月开心婷婷网| 99九九在线精品视频|