用Python分析《令人心動(dòng)的offer2》的彈幕,進(jìn)行可視化分析和情感分析

本文的文字及圖片來源于網(wǎng)絡(luò),僅供學(xué)習(xí)疯汁、交流使用,不具有任何商業(yè)用途,版權(quán)歸原作者所有,如有問題請(qǐng)及時(shí)聯(lián)系我們以作處理

以下文章來源于騰訊云 作者:Python進(jìn)擊者

前言

綜藝,是我們勞累了一天的放松方式溃卡,也是我們飯后的談資蜒简〈瓴纾看著自己喜歡的綜藝,時(shí)光足夠美麸折。而《令人心動(dòng)的offer》垢啼,就是一個(gè)不錯(cuò)的綜藝選擇张肾。

《令人心動(dòng)的offer》目前為止已經(jīng)播出了兩季吞瞪,第一季在豆瓣為8.3分尸饺,共有5萬余人評(píng)分浪听,第二季目前評(píng)分低于第一季迹栓,評(píng)分僅7.1分克伊。本文通過爬取《令人心動(dòng)的offer》第二季13萬+彈幕,進(jìn)行可視化分析和情感分析不从,


在這里插入圖片描述

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

《令人心動(dòng)的offer》第二季在騰訊視頻獨(dú)家播出,目前已播出四期(含面試篇)寝优,本文采取分集爬取枫耳。以下以爬取面試篇彈幕為例,并給出完整代碼:

#-*- coding = uft-8 -*-
#@Time : 2020/11/30 21:35 
#@Author : 公眾號(hào) 菜J學(xué)Python
#@File : tengxun_danmu.py

import requests
import json
import time
import pandas as pd

target_id = "6130942571%26" #面試篇的target_id
vid = "%3Dt0034o74jpr" #面試篇的vid
df = pd.DataFrame()
for page in range(15, 3214, 30):  #視頻時(shí)長(zhǎng)共3214秒
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}
    url = 'https://mfm.video.qq.com/danmu?otype=json&timestamp={0}&target_id={1}vid{2}&count=80'.format(page,target_id,vid)
    print("正在提取第" + str(page) + "頁")
    html = requests.get(url,headers = headers)
    bs = json.loads(html.text,strict = False)  #strict參數(shù)解決部分內(nèi)容json格式解析報(bào)錯(cuò)
    time.sleep(1)
    #遍歷獲取目標(biāo)字段
    for i in bs['comments']:
        content = i['content']  #彈幕
        upcount = i['upcount']  #點(diǎn)贊數(shù)
        user_degree =i['uservip_degree'] #會(huì)員等級(jí)
        timepoint = i['timepoint']  #發(fā)布時(shí)間
        comment_id = i['commentid']  #彈幕id
        cache = pd.DataFrame({'彈幕':[content],'會(huì)員等級(jí)':[user_degree],'發(fā)布時(shí)間':[timepoint],'彈幕點(diǎn)贊':[upcount],'彈幕id':[comment_id]})
        df = pd.concat([df,cache])
df.to_csv('面試篇.csv',encoding = 'utf-8')

分別爬取完成后,將四個(gè)彈幕csv文件放入一個(gè)文件夾中帆喇。

在這里插入圖片描述

打開面試篇csv文件坯钦,預(yù)覽如下:


在這里插入圖片描述

數(shù)據(jù)清洗

合并彈幕數(shù)據(jù)
首先,將四個(gè)彈幕csv文件進(jìn)行數(shù)據(jù)合并序仙,采用concat方法潘悼。

import pandas as pd
import numpy as np
df1 = pd.read_csv("/菜J學(xué)Python/彈幕/騰訊/令人心動(dòng)的offer/面試篇.csv")
df1["期數(shù)"] = "面試篇"
df2 = pd.read_csv("/菜J學(xué)Python/彈幕/騰訊/令人心動(dòng)的offer/第1期.csv")
df2["期數(shù)"] = "第1期"
df3 = pd.read_csv("/菜J學(xué)Python/彈幕/騰訊/令人心動(dòng)的offer/第2期.csv")
df3["期數(shù)"] = "第2期"
df4 = pd.read_csv("/菜J學(xué)Python/彈幕/騰訊/令人心動(dòng)的offer/第3期.csv")
df4["期數(shù)"] = "第3期"
df = pd.concat([df1,df2,df3,df4])

預(yù)覽下合并后的數(shù)據(jù):

df.sample(10)

在這里插入圖片描述

合并后數(shù)據(jù)

查看數(shù)據(jù)信息

df.info()

<class 'pandas.core.frame.DataFrame'>
Int64Index: 133627 entries, 0 to 34923
Data columns (total 8 columns):
 #   Column      Non-Null Count   Dtype 
---  ------      --------------   ----- 
 0   Unnamed: 0  133627 non-null  int64 
 1   用戶名         49040 non-null   object
 2   內(nèi)容          133626 non-null  object
 3   會(huì)員等級(jí)        133627 non-null  int64 
 4   評(píng)論時(shí)間點(diǎn)       133627 non-null  int64 
 5   評(píng)論點(diǎn)贊        133627 non-null  int64 
 6   評(píng)論id        133627 non-null  int64 
 7   期數(shù)          133627 non-null  object
dtypes: int64(5), object(3)
memory usage: 9.2+ MB

發(fā)現(xiàn)數(shù)據(jù)存在以下幾個(gè)問題:1.字段名稱可調(diào)整(個(gè)人潔癖)2.Unnamed字段多余 3.用戶名字段有缺失值,可填充 4.內(nèi)容和評(píng)論時(shí)間點(diǎn)字段類型需要調(diào)整 5.評(píng)論id對(duì)分析無意義船惨,可刪除

重命名字段

df = df.rename(columns={'用戶名':'用戶昵稱','內(nèi)容':'彈幕內(nèi)容','評(píng)論時(shí)間點(diǎn)':'發(fā)送時(shí)間','評(píng)論點(diǎn)贊':'彈幕點(diǎn)贊','期數(shù)':'所屬期數(shù)'})

過濾字段

#選擇需要分析的字段
df = df[["用戶昵稱","彈幕內(nèi)容","會(huì)員等級(jí)","發(fā)送時(shí)間","彈幕點(diǎn)贊","所屬期數(shù)"]]

缺失值處理

df["用戶昵稱"] = df["用戶昵稱"].fillna("無名氏")

發(fā)送時(shí)間處理

發(fā)送時(shí)間字段是秒數(shù)粱锐,需要改成時(shí)間扛邑,這里自定義一個(gè)time_change函數(shù)進(jìn)行處理蔬崩。

def time_change(seconds):
    m, s = divmod(seconds, 60)
    h, m = divmod(m, 60)
    ss_time = "%d:%02d:%02d" % (h, m, s)
    print(ss_time)
    return ss_time
time_change(seconds=8888)

將time_change函數(shù)應(yīng)用于發(fā)送時(shí)間字段:

df["發(fā)送時(shí)間"] = df["發(fā)送時(shí)間"].apply(time_change)

設(shè)置為需要的時(shí)間格式:

df['發(fā)送時(shí)間'] = pd.to_datetime(df['發(fā)送時(shí)間'])
df['發(fā)送時(shí)間'] = df['發(fā)送時(shí)間'].apply(lambda x : x.strftime('%H:%M:%S'))

彈幕內(nèi)容處理
將object數(shù)據(jù)類型更改為str:

df["彈幕內(nèi)容"] = df["彈幕內(nèi)容"].astype("str")

機(jī)械壓縮去重:

#定義機(jī)械壓縮函數(shù)
def yasuo(st):
    for i in range(1,int(len(st)/2)+1):
        for j in range(len(st)):
            if st[j:j+i] == st[j+i:j+2*i]:
                k = j + i
                while st[k:k+i] == st[k+i:k+2*i] and k<len(st):   
                    k = k + i
                st = st[:j] + st[k:]    
    return st
yasuo(st="菜J學(xué)Python真的真的真的很菜很菜")

#調(diào)用機(jī)械壓縮函數(shù)
df["彈幕內(nèi)容"] = df["彈幕內(nèi)容"].apply(yasuo)
特殊字符過濾:

df['彈幕內(nèi)容'] = df['彈幕內(nèi)容'].str.extract(r"([\u4e00-\u9fa5]+)") #提取中文內(nèi)容
df = df.dropna()  #純表情彈幕直接刪除

清洗后數(shù)據(jù)預(yù)覽如下:


在這里插入圖片描述

數(shù)據(jù)分析

各期彈幕數(shù)量對(duì)比
《令人心動(dòng)的offer》第二季已播出四期(含面試篇)险掀,第1期:規(guī)則升級(jí),實(shí)習(xí)生面臨高壓考核彈幕數(shù)量最多冈绊,達(dá)到42422個(gè)死宣,面試篇:實(shí)習(xí)生面試遭靈魂拷問彈幕數(shù)量最少毅该,僅為17332個(gè)眶掌。

import pyecharts.options as opts
from pyecharts.charts import *
from pyecharts.globals import ThemeType  

df7 = df["所屬期數(shù)"].value_counts()
print(df7.index.to_list())
print(df7.to_list())
c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))
    .add_xaxis(df7.index.to_list())
    .add_yaxis("",df7.to_list()) 
    .set_global_opts(title_opts=opts.TitleOpts(title="各期彈幕數(shù)量",subtitle="數(shù)據(jù)來源:騰訊視屏 \t制圖:菜J學(xué)Python",pos_left = 'left'),
                       xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=13)), #更改橫坐標(biāo)字體大小
                       yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=13)), #更改縱坐標(biāo)字體大小
                       )
    .set_series_opts(label_opts=opts.LabelOpts(font_size=16,position='top'))
    )
c.render_notebook()

在這里插入圖片描述

各期彈幕數(shù)量

誰是彈幕發(fā)射機(jī)

用戶昵稱為想太多de貓幾期下來共發(fā)射彈幕227個(gè)即寒,遙遙領(lǐng)先其他彈幕黨召噩,名副其實(shí)的彈幕發(fā)射機(jī)具滴。

df8 = df["用戶昵稱"].value_counts()[1:11]
df8 = df8.sort_values(ascending=True)
df8 = df8.tail(10)
print(df8.index.to_list())
print(df8.to_list())
c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))
    .add_xaxis(df8.index.to_list())
    .add_yaxis("",df8.to_list()).reversal_axis() #X軸與y軸調(diào)換順序
    .set_global_opts(title_opts=opts.TitleOpts(title="彈幕發(fā)送數(shù)量TOP10",subtitle="數(shù)據(jù)來源:騰訊視頻 \t制圖:菜J學(xué)Python",pos_left = 'left'),
                       xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=13)), #更改橫坐標(biāo)字體大小
                       yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=13)), #更改縱坐標(biāo)字體大小
                       )
    .set_series_opts(label_opts=opts.LabelOpts(font_size=16,position='right'))
    )
c.render_notebook()

在這里插入圖片描述

隨機(jī)抽取想太多de貓彈幕信息施绎,發(fā)現(xiàn)其對(duì)《令人心動(dòng)的offer》第二季愛的深沉谷醉。彈幕內(nèi)容透露出其觀看視頻還是相當(dāng)之認(rèn)真俱尼,幾乎每個(gè)彈幕都獲得了一定的點(diǎn)贊萎攒。

df[df["用戶昵稱"]=="想太多de貓"].sample(10)

在這里插入圖片描述

彈幕發(fā)射機(jī)彈幕抽樣

會(huì)員等級(jí)分布

在觀看《令人心動(dòng)的offer》第二季的觀眾中刃永,高達(dá)74.31%的用戶和J哥一樣不是騰訊視頻的會(huì)員斯够,占比第二的會(huì)員等級(jí)3占5.6%,共計(jì)7419人抓督,占比第三的會(huì)員等級(jí)1占5.39%铃在,共計(jì)7153人定铜。

df2 = df["會(huì)員等級(jí)"].astype("str").value_counts()
print(df2)
df2 = df2.sort_values(ascending=False)
regions = df2.index.to_list()
values = df2.to_list()
c = (
        Pie(init_opts=opts.InitOpts(theme=ThemeType.DARK))
        .add("", list(zip(regions,values)))
        .set_global_opts(legend_opts = opts.LegendOpts(is_show = False),title_opts=opts.TitleOpts(title="會(huì)員等級(jí)分布",subtitle="數(shù)據(jù)來源:騰訊視頻\t制圖:菜J學(xué)Python",pos_top="0.5%",pos_left = 'left'))
        .set_series_opts(label_opts=opts.LabelOpts(formatter="等級(jí)宿稀占比:blpeacp%",font_size=14))

    )
c.render_notebook()

在這里插入圖片描述

會(huì)員等級(jí)分布

彈幕在討論些什么

通過對(duì)13+彈幕制作詞云圖祝沸,我們發(fā)現(xiàn)罩锐,彈幕中出現(xiàn)頻率較高的詞匯有「丁輝涩惑、律師桑驱、喜歡熬的、加油押框、徐律橡伞、干飯兑徘、撒老師」等。丁輝作為8個(gè)實(shí)習(xí)生里本科學(xué)校最差酪我、年齡最大的成員,從一開始就被觀眾所熱議镀脂。徐律作為第1季的帶教導(dǎo)師薄翅,其雷厲風(fēng)行又知性溫柔的風(fēng)范翘魄,早已贏得廣大觀眾的喜愛暑竟。干飯作為最近非常熱門的網(wǎng)絡(luò)詞匯但荤,出現(xiàn)在熱播綜藝中也不足為奇。而撒老師作為這一季的搞笑擔(dān)當(dāng)和凡爾賽擔(dān)當(dāng)桑包,也被廣大觀眾所熱議哑了。

# 定義分詞函數(shù)
def get_cut_words(content_series):
    # 讀入停用詞表
    stop_words = [] 
    with open("/菜J學(xué)Python/offer/stop_words.txt", 'r', encoding='utf-8') as f:
        lines = f.readlines()
        for line in lines:
            stop_words.append(line.strip())
    # 添加關(guān)鍵詞
    my_words = ['撒老師', '范丞丞','第一季']  
    for i in my_words:
        jieba.add_word(i) 
    # 自定義停用詞
    my_stop_words = ['好像', '真的','感覺']   
    stop_words.extend(my_stop_words)               
    # 分詞
    word_num = jieba.lcut(content_series.str.cat(sep='。'), cut_all=False)
    # 條件篩選
    word_num_selected = [i for i in word_num if i not in stop_words and len(i)>=2]
    return word_num_selected
# 繪制詞云圖
text1 = get_cut_words(content_series=df['彈幕內(nèi)容'])
stylecloud.gen_stylecloud(text=' '.join(text1), max_words=100,
                          collocations=False,
                          font_path='字酷堂清楷體.ttf',
                          icon_name='fas fa-square',
                          size=653,
                          #palette='matplotlib.Inferno_9',
                          output_name='./offer.png')
Image(filename='./offer.png')

在這里插入圖片描述

整體彈幕詞云

大家如何評(píng)論8個(gè)實(shí)習(xí)生

我們首先看下8位實(shí)習(xí)生的照片:


在這里插入圖片描述
在這里插入圖片描述

在所有彈幕中鳖悠,丁輝被觀眾提及次數(shù)遠(yuǎn)超過另外7個(gè)實(shí)習(xí)生乘综,共計(jì)9298次,其次是詹秋怡胞皱,被觀眾提及2455次反砌,劉煜成被觀眾提及最少宴树,僅有526次酒贬。

df8 = df["人物提及"].value_counts()[1:11]
print(df8.index.to_list())
print(df8.to_list())
c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))
    .add_xaxis(df8.index.to_list())
    .add_yaxis("",df8.to_list()) 
    .set_global_opts(title_opts=opts.TitleOpts(title="人物提及次數(shù)",subtitle="數(shù)據(jù)來源:騰訊視頻 \t制圖:菜J學(xué)Python",pos_left = 'left'),
                       xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=13)), #更改橫坐標(biāo)字體大小
                       yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=13)), #更改縱坐標(biāo)字體大小
                       )
    .set_series_opts(label_opts=opts.LabelOpts(font_size=16,position='top'))
    )
c.render_notebook()

在這里插入圖片描述

分別繪制8個(gè)實(shí)習(xí)生的彈幕詞云圖蠢莺,我們發(fā)現(xiàn)躏将,還是有很多觀眾認(rèn)可「丁輝」的考蕾,「加油辕翰、喜歡喜命、看好壁榕、支持」等詞出現(xiàn)頻率較高牌里;對(duì)于性格較為內(nèi)向的詹秋怡,觀眾也非常喜歡喳篇,從「漂亮麸澜、劉亦菲奏黑、好看」等高頻詞可看出炊邦,不少人喜歡她是基于顏值编矾;作為來自頂級(jí)學(xué)府斯坦福的王驍來說,觀眾呈現(xiàn)兩邊倒的局勢(shì)馁害,有人說「王驍好」窄俏,也有人認(rèn)為他是「凡爾賽」;朱一暄也一樣碘菜,有人覺得她很「可愛」凹蜈,也有人「討厭」她炉媒;瞿澤林則被表揚(yáng)「情商高踪区、可愛」昆烁;李晉曄的「帥氣」被觀眾贊不絕口吊骤,甚至有很多人認(rèn)為他很像第1季的人氣實(shí)習(xí)生何運(yùn)晨;人大畢業(yè)的王穎飛也被觀眾夸贊「好看静尼、漂亮」白粉;高分過司考的劉煜成被觀眾夸贊「專業(yè)知識(shí)不錯(cuò)」,由于在第3期中被王驍搶話鼠渺,受了委屈鸭巴,觀眾紛紛表示「心疼」。


在這里插入圖片描述

情感分析

通過運(yùn)用百度開源NLP對(duì)彈幕內(nèi)容進(jìn)行情感分值計(jì)算拦盹,我們發(fā)現(xiàn)鹃祖,《令人心動(dòng)的offer》第二季整體情感分值高于0.5,觀眾表現(xiàn)出較高的積極傾向普舆。會(huì)員等級(jí)較高的觀眾越能堅(jiān)持觀看到最后恬口,彈幕點(diǎn)贊量從視頻播放開始呈增長(zhǎng)趨勢(shì),在最后15分鐘時(shí)驟降沼侣。情感分值則表現(xiàn)為視頻播放首尾高祖能,中間低。

import paddlehub as hub
#這里使用了百度開源的成熟NLP模型來預(yù)測(cè)情感傾向
senta = hub.Module(name="senta_bilstm")
texts = df['彈幕內(nèi)容'].tolist()
input_data = {'text':texts}
res = senta.sentiment_classify(data=input_data)
df['情感分值'] = [x['positive_probs'] for x in res]
#重采樣至15分鐘
df.index = df['發(fā)送時(shí)間']
data = df.resample('15min').mean().reset_index()

#給數(shù)據(jù)表添加調(diào)色板
import seaborn as sns
color_map = sns.light_palette('orange', as_cmap=True)  #light_palette調(diào)色板
data.style.background_gradient(color_map)

在這里插入圖片描述

情感分值表

c = (
        Line(init_opts=opts.InitOpts(theme=ThemeType.DARK))
       .add_xaxis(data["發(fā)送時(shí)間"].to_list())
       .add_yaxis('情感傾向', list(data["情感分值"].round(2)), is_smooth=True,is_connect_nones=True,areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
       .set_global_opts(title_opts=opts.TitleOpts(title="情感傾向",subtitle="數(shù)據(jù)來源:騰訊視頻 \t制圖:菜J學(xué)Python",pos_left = 'left'))
    )
c.render_notebook()

在這里插入圖片描述
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蛾洛,一起剝皮案震驚了整個(gè)濱河市养铸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌轧膘,老刑警劉巖钞螟,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異谎碍,居然都是意外死亡筛圆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門椿浓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來太援,“玉大人闽晦,你說我怎么就攤上這事√岵恚” “怎么了仙蛉?”我有些...
    開封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)碱蒙。 經(jīng)常有香客問我荠瘪,道長(zhǎng),這世上最難降的妖魔是什么赛惩? 我笑而不...
    開封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任哀墓,我火速辦了婚禮,結(jié)果婚禮上喷兼,老公的妹妹穿的比我還像新娘篮绰。我一直安慰自己,他們只是感情好季惯,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開白布吠各。 她就那樣靜靜地躺著,像睡著了一般勉抓。 火紅的嫁衣襯著肌膚如雪贾漏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天藕筋,我揣著相機(jī)與錄音纵散,去河邊找鬼。 笑死隐圾,一個(gè)胖子當(dāng)著我的面吹牛伍掀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播翎承,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼硕盹,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了叨咖?” 一聲冷哼從身側(cè)響起瘩例,我...
    開封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎甸各,沒想到半個(gè)月后垛贤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡趣倾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年聘惦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片儒恋。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡善绎,死狀恐怖黔漂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情禀酱,我是刑警寧澤炬守,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站剂跟,受9級(jí)特大地震影響减途,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜曹洽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一鳍置、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧送淆,春花似錦税产、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撤卢。三九已至环凿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間放吩,已是汗流浹背智听。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留渡紫,地道東北人到推。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像惕澎,于是被迫代替她去往敵國和親莉测。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

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