【文本挖掘】Python帶你笑看江湖

微信公眾號(hào):CuteHand
關(guān)注可了解更多的金融與Python干貨新锈。
若CuteHand對(duì)你有幫助,請(qǐng)點(diǎn)贊Thanks?(?ω?)?

背景

2018年10月30日下午,金庸在香港養(yǎng)和醫(yī)院逝世,享年94歲。金庸大俠文學(xué)貢獻(xiàn)自不必多說(shuō)驮樊,影響了一代代人∠湍罚“一部百年武俠小說(shuō)史,自還珠樓主以下板丽,名家輩出似炎,惟金庸名頭最盛、享譽(yù)最長(zhǎng)店印,橫掃華人世界兰珍。他以汪洋恣肆的想象力,十余年間寫(xiě)下15部作品”苛秕∏牦埃可用"飛雪連天射白鹿是趴,笑書(shū)神俠倚碧鴛"來(lái)形容,分別是《飛狐外傳》(1960年)远剩、《雪山飛狐》(1959年)淹辞、《連城訣》(1963年)莉给、《天龍八部》(1963年)毙石、《射雕英雄傳》(1957年)、《白馬嘯西風(fēng)》(1961年)颓遏、《鹿鼎記》(1969年)徐矩、《笑傲江湖》(1967年)、《書(shū)劍恩仇錄》(1955年)州泊、《神雕俠侶》(1959年)丧蘸、《俠客行》(1965年)、《倚天屠龍記》(1961年)遥皂、《碧血?jiǎng)Α罚?956年)《鴛鴦刀》(1961年)力喷、《越女劍》(短篇小說(shuō))(1970年)。為了緬懷金大俠演训,我們使用Python對(duì)其15部小說(shuō)展開(kāi)分析弟孟,通過(guò)文本挖掘,為大家展示別樣的江湖恩怨情仇样悟。

數(shù)據(jù)獲取

編寫(xiě)簡(jiǎn)單的爬蟲(chóng)程序獲取金庸15本小說(shuō)拂募,并寫(xiě)入本地txt文件中。爬蟲(chóng)函數(shù)不在此展示窟她,需要源碼的請(qǐng)?jiān)诠娞?hào)CuteHand后臺(tái)回復(fù)“金庸小說(shuō)爬蟲(chóng)源碼”陈症;如果懶得動(dòng)手運(yùn)行爬蟲(chóng)程序的,回復(fù)“金庸小說(shuō)下載”震糖,免費(fèi)提供txt下載录肯。

文本處理

分別將小說(shuō)的人物(names)、功夫(kungfu)吊说、派別(bangs)寫(xiě)入txt文件中,并與小說(shuō)放在同一個(gè)文件夾中论咏。

file='D:/CuteHand/jr_novels/names.txt'   
#本地文件夾,根據(jù)需要修改
#可以使用os模塊的添加路徑
with open(file) as f:
    # 去掉結(jié)尾的換行符
    data = [line.strip() for line in f.readlines()]
novels = data[::2]
names = data[1::2]
novel_names = {k: v.split() for k, v in zip(novels, names)}

金庸小說(shuō)充滿(mǎn)恩怨情仇颁井,其中厅贪,《倚天屠龍記》中張無(wú)忌一生遇到很多女人,如趙敏雅宾、周芷若养涮、小昭、蛛兒,朱九真,楊不悔等,到底誰(shuí)是女主角呢单寂?我們來(lái)看下這幾位美女在小說(shuō)中分別出現(xiàn)的次數(shù)贬芥。

file='D:/CuteHand/jr_novels/倚天屠龍記.txt'
with open(file) as f:
        data = f.read()

Actress=['趙敏','周芷若','小昭','蛛兒','朱九真','楊不悔']
for name in Actress:
    print("%s"% name,data.count(name))
趙敏 1240
周芷若 819
小昭 352
蛛兒 231
朱九真 141
楊不悔 190

將這幾位美女在小說(shuō)中出現(xiàn)的次數(shù)進(jìn)行可視化吐辙,可以更直觀地看出哪位才是張無(wú)忌的歸屬:

#可視化宣决,重點(diǎn)在于學(xué)習(xí)使用matplotlib庫(kù)畫(huà)圖
#導(dǎo)入需要的包  
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
%matplotlib inline
#畫(huà)圖正常顯示中文
from pylab import mpl  
mpl.rcParams['font.sans-serif'] = ['SimHei'] 
# 用來(lái)正常顯示中文標(biāo)簽 
mpl.rcParams['axes.unicode_minus']=False  
# 用來(lái)正常顯示負(fù)號(hào)
actress_data = {'趙敏':1240,'周芷若': 819,
                '小昭': 352,'蛛兒': 231, 
                '朱九真': 141,'楊不悔': 190}  
for a, b in actress_data.items():
    plt.text(a, b + 0.05, '%.0f' % b, 
    ha='center', va='bottom', fontsize=12)  
    #ha 文字指定在柱體中間, 
    #va指定文字位置 
    #fontsize指定文字體大小
# 設(shè)置X軸Y軸數(shù)據(jù)昏苏,兩者都可以是list或者tuple
x_axis = tuple(actress_data.keys())
y_axis = tuple(actress_data.values())
plt.bar(x_axis, y_axis, color='rgbyck')  
# 如果不指定color尊沸,所有的柱體都會(huì)是一個(gè)顏色
#b: blue g: green r: red c: cyan
#m: magenta y: yellow k: black w: white
plt.xlabel("女角名")  # 指定x軸描述信息
plt.ylabel("小說(shuō)中出現(xiàn)次數(shù)")  # 指定y軸描述信息
plt.title("誰(shuí)是女主角?")  # 指定圖表描述信息
plt.ylim(0, 1400)  # 指定Y軸的高度
plt.show()

眾所周知贤惯,張無(wú)忌最終和趙敏在一起了洼专,而與周芷若之間很是坎坷...;小昭挺喜歡的角色孵构,可惜被不可抗拒的外力給分開(kāi)了终吼;蛛兒尿扯,暫且說(shuō)是女方單戀吧;朱九真 只是過(guò)客,不過(guò)也算是張無(wú)忌情竇初開(kāi)喜歡的一個(gè)玛追;楊不悔只能說(shuō)是玩伴。

文本挖掘

接下來(lái)乳怎,通過(guò)分析小說(shuō)人物的出場(chǎng)次數(shù)來(lái)判斷小說(shuō)的主要人物饶氏。

#繼續(xù)挖掘下倚天屠龍記里面人物出現(xiàn)次數(shù)排名
namelist=[name.strip() for name in novel_names['倚天屠龍記']]
namelist=''.join(namelist)
namelist=namelist.split('、')
count = []
num=10 #統(tǒng)計(jì)前10名

for name in namelist:
    count.append([name, data.count(name)])
count.sort(key=lambda x: x[1])
_, ax = plt.subplots()
numbers = [x[1] for x in count[-num:]]
names = [x[0] for x in count[-num:]]
ax.barh(range(num), numbers, align='center')
ax.set_title('倚天屠龍記', fontsize=14)
ax.set_yticks(range(num))
ax.set_yticklabels(names, fontsize=10)
plt.show()

網(wǎng)上收集了下金庸小說(shuō)的功夫和門(mén)派種類(lèi)毒坛,分別寫(xiě)入kungfu.txt和bangs.txt中望伦,其中武功246種,門(mén)派120個(gè)煎殷。

#加入功夫和門(mén)派數(shù)據(jù)
file='D:/CuteHand/jr_novels/'
with open(file+"kungfu.txt") as f:
    kungfu_names = [line.strip() for line in f.readlines()]
with open(file+"bangs.txt") as f:
    bang_names = [line.strip() for line in f.readlines()]
#編寫(xiě)文本挖掘可視化函數(shù)
#尋找小說(shuō)出現(xiàn)最多的十大人物
def find_main_characters(novel):
    file='D:/CuteHand/jr_novels/'
    with open(file+'names.txt') as f:
        df = [line.strip() for line in f.readlines()]
    novels = df[::2]
    names = df[1::2]
    novel_names = {k: v.split() for k, v in zip(novels, names)}
    with open(file+'{}.txt'.format(novel)) as f:
        data = f.read()
    count = []
    namelist=[name.strip() for name in novel_names[novel]]
    namelist=''.join(namelist)
    namelist=namelist.split('屯伞、')
    for name in namelist:
        count.append([name, data.count(name)])
    count.sort(key=lambda x: x[1])
    _, ax = plt.subplots()
    num=10
    numbers = [x[1] for x in count[-num:]]
    names = [x[0] for x in count[-num:]]
    ax.barh(range(num), numbers, align='center') 
    ax.set_title(novel+"出現(xiàn)最多的十大人物",fontsize=16)
    ax.set_yticks(range(num))
    ax.set_yticklabels(names, fontsize=14)
#尋找小說(shuō)出現(xiàn)最多的十大武功
def kungfu(novel):
    file='D:/CuteHand/jr_novels/'
    with open(file+'{}.txt'.format(novel)) as f:
        df = f.read()
    namelist=kungfu_names
    count = []
    num=10 #統(tǒng)計(jì)前10名

    for name in namelist:
        count.append([name, df.count(name)])
    count.sort(key=lambda x: x[1])
    _, ax = plt.subplots()
    numbers = [x[1] for x in count[-num:]]
    names = [x[0] for x in count[-num:]]
    ax.barh(range(num), numbers, align='center')
    ax.set_title(novel+"出現(xiàn)最多的十大武功", fontsize=16)
    ax.set_yticks(range(num))
    ax.set_yticklabels(names, fontsize=14)
#尋找小說(shuō)出現(xiàn)最多的十大門(mén)派
def bang(novel):
    file='D:/CuteHand/jr_novels/'
    with open(file+'{}.txt'.format(novel)) as f:
        df = f.read()
    namelist=bang_names
    count = []
    num=10 #統(tǒng)計(jì)前10名

    for name in namelist:
        count.append([name, df.count(name)])
    count.sort(key=lambda x: x[1])
    _, ax = plt.subplots()
    numbers = [x[1] for x in count[-num:]]
    names = [x[0] for x in count[-num:]]
    ax.barh(range(num), numbers, align='center')
    ax.set_title(novel+"出現(xiàn)最多的十大門(mén)派", fontsize=16)
    ax.set_yticks(range(num))
    ax.set_yticklabels(names, fontsize=14)
#將三個(gè)函數(shù)合成一個(gè)主函數(shù)
def main(novel):
    find_main_characters(novel)
    bang(novel)
    kungfu(novel)
main('倚天屠龍記')
main('天龍八部')
main('神雕俠侶')
main('笑傲江湖')

尋找人物關(guān)系

使用gensim和jieba包對(duì)文本做進(jìn)一步挖掘,尋找人物之間的關(guān)系豪直。一般要先安裝相應(yīng)的包劣摇,只要在Anaconda Prompt上輸入pip install gensim和pip install jieba進(jìn)行安裝即可。

import gensim
import warnings
warnings.filterwarnings(action='ignore',
  category=UserWarning,module='gensim')
warnings.filterwarnings(action='ignore',
  category=FutureWarning,module='gensim')
import jieba
for _, names in novel_names.items():
    for name in names:
        jieba.add_word(name)
file='D:/CuteHand/jr_novels/'
with open(file+"kungfu.txt") as f:
    kungfu_names = [line.strip() 
         for line in f.readlines()]
with open(file+"bangs.txt") as f:
    bang_names = [line.strip() 
         for line in f.readlines()]

for name in kungfu_names:
    jieba.add_word(name)

for name in bang_names:
    jieba.add_word(name)
books = ['天龍八部','鹿鼎記','神雕俠侶','笑傲江湖',
     '碧血?jiǎng)?,'倚天屠龍記','飛狐外傳','書(shū)劍恩仇錄',
     '俠客行','鴛鴦刀','白馬嘯西風(fēng)','雪山飛狐']
sentences = []
for novel in books:
    print ("處理:{}".format(novel))
    with open(file+'{}.txt'.format(novel)) as f:
        data = [line.strip() 
                for line in f.readlines() 
                if line.strip()]
    for line in data:
        words = list(jieba.cut(line))
        sentences.append(words)
model = gensim.models.Word2Vec(sentences, 
        size=100,window=5, min_count=5, workers=4)

首先顶伞,來(lái)看下《倚天屠龍記》里張無(wú)忌與哪位女角的關(guān)系最緊密饵撑。

Actress=['趙敏','周芷若','小昭','蛛兒','朱九真','楊不悔']
for a in Actress:
    print("張無(wú)忌與%s的相關(guān)度" % a,model.wv.similarity('張無(wú)忌',a)) 

結(jié)果如下:

張無(wú)忌與趙敏的相關(guān)度 0.7922112
張無(wú)忌與周芷若的相關(guān)度 0.7983359
張無(wú)忌與小昭的相關(guān)度 0.60103273
張無(wú)忌與蛛兒的相關(guān)度 0.7526051
張無(wú)忌與朱九真的相關(guān)度 0.5569755
張無(wú)忌與楊不悔的相關(guān)度 0.5574214

從文本挖掘上看,張無(wú)忌似乎與周芷若“關(guān)系”更加緊密唆貌。不過(guò)滑潘,周芷若與趙敏的相關(guān)度非常接近。
其次锨咙,運(yùn)用12部小說(shuō)(其中语卤,射雕英雄傳、越女劍和連城訣可能存在非法字符,讀不出來(lái))交叉判斷人物之間的關(guān)系粹舵。

def find_relationship(a, b, c):
    """
    返回 d 
    a與b的關(guān)系钮孵,跟c與d的關(guān)系一樣    
    """
    d, _ = model.wv.most_similar([c, b], [a])[0]
    print ("給定“{}”與“{}”,“{}”和“{}”有類(lèi)似的關(guān)系".format(a, b, c, d))
find_relationship('小龍女','楊過(guò)' ,'黃蓉')

輸出結(jié)果(Interesting!):

給定“小龍女”與“楊過(guò)”眼滤,“黃蓉”和“郭襄”有類(lèi)似的關(guān)系

詞云

通過(guò)對(duì)小說(shuō)文本中出現(xiàn)頻率較高的“關(guān)鍵詞”予以視覺(jué)上的突出巴席,形成“關(guān)鍵詞云層”或“關(guān)鍵詞渲染”,過(guò)濾掉大量的文本信息诅需,大家可以試著通過(guò)關(guān)鍵詞來(lái)自行串起故事的梗概和判斷人物的關(guān)系漾唉。

#引入需要的包
import jieba
import jieba.analyse
import numpy as np
import codecs
import pandas as pd
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
#讀入《倚天屠龍記》文本內(nèi)容
text=codecs.open('D:/CuteHand/jr_novels/倚天屠龍記.txt',
                 'rb','gbk').read()
tags=jieba.analyse.extract_tags(text,topK=100,
      withWeight=True)
tf=dict((a[0],a[1]) for a in tags)
#識(shí)別中文文本
wc=WordCloud(font_path='C:\Windows\Fonts\STZHONGS.TTF')
wc=wc.generate_from_frequencies(tf)
plt.figure(num=None,figsize=(12,10),facecolor='w',edgecolor='k')
plt.imshow(wc)
plt.axis('off')
plt.show()

生成特定形狀的詞云


backgroud_Image = plt.imread('D:/CuteHand/jr_novels/地圖.jpg')
#可以自己找適合的圖片做背景,最后是背景白色
wc = WordCloud(
    background_color='white',
    # 設(shè)置背景顏色
    mask=backgroud_Image,
    # 設(shè)置背景圖片
    font_path='C:\Windows\Fonts\STZHONGS.TTF',  
    # 若是有中文的話(huà)堰塌,這句代碼必須添加
    max_words=2000, # 設(shè)置最大現(xiàn)實(shí)的字?jǐn)?shù)
    stopwords=STOPWORDS,# 設(shè)置停用詞
    max_font_size=150,# 設(shè)置字體最大值
    random_state=30
    # 設(shè)置有多少種隨機(jī)生成狀態(tài)赵刑,即有多少種配色方案
)
wc.generate_from_frequencies(tf)

#img_colors = ImageColorGenerator(backgroud_Image)
#字體顏色為背景圖片的顏色
#wc.recolor(color_func=img_colors)
plt.figure(num=None,figsize(12,10),
     facecolor='w',edgecolor='k')
plt.imshow(wc)
# 是否顯示x軸、y軸下標(biāo)
plt.axis('off')
plt.show()

將上述過(guò)程包裝成函數(shù),方便批量處理

def jr_cloud(novel,file):
    import jieba
    import jieba.analyse
    import numpy as np
    import codecs
    import pandas as pd
    from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
      text=codecs.open(file+'{}.txt'.format(novel),'rb','gbk').read()
    tags=jieba.analyse.extract_tags(text,topK=50,withWeight=True)
    tf=dict((a[0],a[1]) for a in tags)
    wc=WordCloud(font_path='c:\windows\fonts\simsun.ttc',
        background_color='white')
    wc=wc.generate_from_frequencies(tf)
    plt.figure(num=None,figsize=(12,10),facecolor='w',edgecolor='k')
    plt.title(novel,fontsize=18)
    plt.imshow(wc)
    plt.axis('off')
    plt.show()
file='D:/CuteHand/jr_novels/'
novels = ['天龍八部','鹿鼎記','神雕俠侶','笑傲江湖',
         '碧血?jiǎng)?,'倚天屠龍記','飛狐外傳','書(shū)劍恩仇錄',
        '俠客行','鴛鴦刀','白馬嘯西風(fēng)','雪山飛狐']
jr_cloud(novels[0],file)
#鹿鼎記詞云
jr_cloud(novels[1],file)
#笑傲江湖詞云
jr_cloud(novels[3],file)

人物關(guān)系網(wǎng)絡(luò)分析

最后運(yùn)用網(wǎng)絡(luò)分析法场刑,將小說(shuō)中的人物關(guān)系用圖形展示出來(lái)般此。

import networkx as nx
import matplotlib.pyplot as plt
import jieba
import codecs
import jieba.posseg as pseg

names = {}          
# 姓名字典
relationships = {}  
# 關(guān)系字典
lineNames = []      
# 每段內(nèi)人物關(guān)系

# count names
jieba.load_userdict(novel_names['倚天屠龍記'])     
with codecs.open("D:/CuteHand/jr_novels/倚天屠龍記.txt", "r") as f:
    for line in f.readlines():
        poss = pseg.cut(line)       
        # 分詞并返回該詞詞性
        lineNames.append([])        
        # 為新讀入的一段添加人物名稱(chēng)列表
        for w in poss:
            if w.flag != "nr" or len(w.word) < 2:
                continue            
# 當(dāng)分詞長(zhǎng)度小于2或該詞詞性不為nr時(shí)認(rèn)為該詞不為人名
            lineNames[-1].append(w.word)        
# 為當(dāng)前段的環(huán)境增加一個(gè)人物
            if names.get(w.word) is None:
                names[w.word] = 0
                relationships[w.word] = {}
            names[w.word] += 1                  
# 該人物出現(xiàn)次數(shù)加 1

# explore relationships
for line in lineNames:                  
# 對(duì)于每一段
    for name1 in line:                  
        for name2 in line:              
# 每段中的任意兩個(gè)人
            if name1 == name2:
                continue
            if relationships[name1].get(name2) is None:     
# 若兩人尚未同時(shí)出現(xiàn)則新建項(xiàng)
                relationships[name1][name2]= 1
            else:
                relationships[name1][name2] = 
                  relationships[name1][name2]+ 1        
# 兩人共同出現(xiàn)次數(shù)加 1



with codecs.open("D:/CuteHand/jr_novels/person_edge.txt",
                  "a+", "utf-8") as f:

    for name, edges in relationships.items():
        for v, w in edges.items():
            if w >500:
                f.write(name + " " + v + " 
                     " + str(w) + "\r\n")

a = []
f = open('D:/CuteHand/jr_novels/person_edge.txt',
     'r',encoding='utf-8')
line = f.readline()
while line:
    a.append(line.split())   
#保存文件是以空格分離的
    line = f.readline()
f.close()
#畫(huà)圖
G = nx.Graph()
G.add_weighted_edges_from(a)
nx.draw(G,with_labels=True,font_size=9,node_size=800,node_color='r')
plt.show()

output_10_0.png

output_12_1.png
output_17_0.png
output_17_1.png
output_17_2.png
output_18_0.png
output_18_1.png
output_18_2.png
output_19_0.png
output_19_1.png
output_19_2.png
output_20_0.png
output_20_1.png
output_20_2.png
output_35_0.png
output_36_0.png
output_38_0.png
output_39_0.png
output_40_0.png
output_42_0.png

關(guān)于CuteHand

能告訴你每天星座運(yùn)勢(shì),查天氣牵现、附近酒店铐懊、股票行情,講笑話(huà)施籍、小故事居扒,聊天互動(dòng)聊天,不定期分享原創(chuàng)經(jīng)濟(jì)金融干貨丑慎,手把手教你使用Python做金融數(shù)據(jù)分析喜喂。分享知識(shí),點(diǎn)亮智慧 竿裂,歡迎關(guān)注CuteHand玉吁,一起學(xué)習(xí),一起進(jìn)步!


精彩回顧



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市悔常,隨后出現(xiàn)的幾起案子影斑,更是在濱河造成了極大的恐慌,老刑警劉巖机打,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件矫户,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡残邀,警方通過(guò)查閱死者的電腦和手機(jī)皆辽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)柑蛇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人驱闷,你說(shuō)我怎么就攤上這事耻台。” “怎么了空另?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵盆耽,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我痹换,道長(zhǎng)征字,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任娇豫,我火速辦了婚禮,結(jié)果婚禮上畅厢,老公的妹妹穿的比我還像新娘冯痢。我一直安慰自己,他們只是感情好框杜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布浦楣。 她就那樣靜靜地躺著,像睡著了一般咪辱。 火紅的嫁衣襯著肌膚如雪振劳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天油狂,我揣著相機(jī)與錄音历恐,去河邊找鬼。 笑死专筷,一個(gè)胖子當(dāng)著我的面吹牛弱贼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播磷蛹,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼吮旅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了味咳?” 一聲冷哼從身側(cè)響起庇勃,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎槽驶,沒(méi)想到半個(gè)月后责嚷,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捺檬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年再层,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贸铜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡聂受,死狀恐怖蒿秦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛋济,我是刑警寧澤棍鳖,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站碗旅,受9級(jí)特大地震影響渡处,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜祟辟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一医瘫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧旧困,春花似錦醇份、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至拗盒,卻和暖如春怖竭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背陡蝇。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工痊臭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人毅整。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓趣兄,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親悼嫉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子艇潭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 最近讀了《倚天屠龍記》蹋凝,周芷若實(shí)在讓人唏噓不已。 所有的小說(shuō)都是以現(xiàn)實(shí)為背景总棵,又有一些抽象的鳍寂、特殊的限定條件,因此...
    314閱讀 1,021評(píng)論 4 7
  • 桃樹(shù)落英杏花芬情龄, 楊吐雪片柳絮騁迄汛。 又是一春將逝去捍壤, 時(shí)空悠悠人不同。
    飛鷹_0707閱讀 176評(píng)論 4 5
  • 1 每個(gè)月,我都會(huì)報(bào)一兩個(gè)收費(fèi)的課程睹逃,基本上我發(fā)現(xiàn)有自己感興趣的東西盗扇,就會(huì)想去了解學(xué)習(xí)一下。 因?yàn)橛袝r(shí)候沉填,你可能并...
    琉璃凝華閱讀 416評(píng)論 1 0
  • 往事驀回首疗隶, 幾重冰火天。 劫緣難復(fù)嘆翼闹, 一別兩從寬斑鼻。
    莫須有V閱讀 275評(píng)論 0 9