"irest" 一個(gè)nodejs命令行工具的制作過(guò)程

show01.gif

為什么是 irest

臨近年末铜异,多出了一些空余時(shí)間黔州,突發(fā)奇想想做一個(gè)用來(lái)"休閑"的命令行工具键思,剛開(kāi)始的時(shí)候想用python衩藤,后來(lái)決定了用nodejs實(shí)踐一下 , 項(xiàng)目GitHub地址 irest 歡迎start

功能分析

初步計(jì)劃,實(shí)現(xiàn)以下幾個(gè)功能

  • 查看天氣
  • 看笑話
  • 看新聞
  • 搜索瀏覽圖片

動(dòng)手開(kāi)始做

初始化項(xiàng)目

首先建立文件夾 irest cd 到文件夾里面驳糯,使用 npm init 初始化 package.json

目錄結(jié)構(gòu)

    |- irest
        |- bin // 放置命令行操作的文件夾
        |- config // 存放配置文件
        |- module // 存放自己實(shí)現(xiàn)的模塊
        |- tool // 自己要使用到的工具
        |- package.json
        |- README.MD

操作命令行

我是用的 commander 包來(lái)操作獲取命令行輸入的篇梭,很方便,api介紹也很詳細(xì)
首先在 bin 下面創(chuàng)建 irest 文件酝枢,這里的文件我沒(méi)有寫(xiě)后綴
然后在 package.json 里面添加

    "bin": {
        "irest": "bin/irest"
    }

bin/irest

#!/usr/bin/env node

require('commander')
  .version(require('../package').version)
  .usage('<command> [options]')
  .command('news', '看今天的頭條新聞')
  .command('joke', '來(lái)?xiàng)l笑話')
  .command('weather [arguments]', '看看今天的天氣')
  .command('image [arguments]', '搜張圖片看看')
  .parse(process.argv)

可能你會(huì)注意到頭部那句注釋了恬偷,這個(gè)注釋目的就是指出,你想要你的這個(gè)文件中的代碼用什么可執(zhí)行程序去運(yùn)行它帘睦,后面的是輸出幫助
運(yùn)行 node bin/irest 輸出下面這句話就說(shuō)明成功了

    news                 看今天的頭條新聞
    joke                 來(lái)?xiàng)l笑話
    weather [arguments]  看看今天的天氣
    image [arguments]    搜張圖片看看
    help [cmd]           display help for [cmd]

實(shí)現(xiàn)新聞模塊

bin 下面建立 irest-news 文件袍患,因?yàn)楫?dāng)用戶輸入 irest news 的時(shí)候,會(huì)找到 irest-news 文件并執(zhí)行

bin/irest-news

#!/usr/bin/env node

const program = require('commander')
const news = require('../module/news')

program
  .usage('<command> [options]')
  .parse(process.argv)

let template = program.args // 獲取用戶 irest news xxx  后面的參數(shù)

news.consoleNews();

新聞模塊的功能是靠 superagent 爬取網(wǎng)頁(yè)代碼竣付, 然后用 cheerio 解析代碼诡延,之后可以通過(guò)類似于jquery 的操作方法去獲取新聞

module/news.js

let Bower = require('./bower')
let config = require('../config/index').news
let tool = require('../tool/index')
let cheerio = require('cheerio');  

class News{
    constructor(){
        this.bower = new Bower();
    }

    getNews(){
        this.bower.openPage(
            config.url,
            data=>{

                var $=cheerio.load(data);
                var list = $(config.page.listName);


                console.log('+------------------------------------------------------------+')

                list.each((key, value)=>{
                    console.log('(: '+tool.trim($($(value).find(config.page.listTitle)).text())+'\n')
                    console.log(''+tool.trim($($(value).find(config.page.listContent)).text())+'\n')

                })

                console.log('+-----------------------------------------------------------+')

            },
            err=>{
                console.log(config.error)
            }
        )
    }
}


module.exports = {
    consoleNews: function () {
        new News().getNews()
    }
}

這樣就實(shí)現(xiàn)了新聞模塊,測(cè)試使用 node bin/irest news 就會(huì)如下輸出

+------------------------------------------------------------+
(: 又是一年春運(yùn)古胆?

人民網(wǎng)評(píng):今年的春運(yùn)和往年相比...

(: 氣象臺(tái)發(fā)布寒潮預(yù)警中東部氣溫將持續(xù)偏低

江南華南等地氣溫較常年偏低5~6℃|降雪影響多地通信設(shè)施

(: 調(diào)查:1秒刷火車票互聯(lián)網(wǎng)黃潘亮迹“開(kāi)掛”何時(shí)休

黃牛用好幾千兆寬帶刷票|最短100毫秒點(diǎn)一次|監(jiān)管更困難

(: 部分惡搞黃河大合唱視頻下架冼星海之女欲起訴

經(jīng)典作品不容褻瀆|惡搞經(jīng)典的現(xiàn)象很普遍|律師:平臺(tái)或擔(dān)責(zé)

+-----------------------------------------------------------+

難點(diǎn)所在,圖片模塊

其他模塊就是爬取原網(wǎng)頁(yè)的信息逸绎,分析輸出到控制臺(tái)惹恃,圖片模塊就復(fù)雜了。需要爬取圖片網(wǎng)站棺牧,隨機(jī)找一張圖片巫糙,用圖像分析轉(zhuǎn)成字符圖片,輸出到控制臺(tái)
分別使用 get-pixelsimages 實(shí)現(xiàn)了此功能陨帆。原理就是下面的步驟

  • 根據(jù)用戶輸入曲秉,搜索后獲取一張圖片地址下載到本地緩存
  • images 把圖片等比例設(shè)置成配置文件里的大小
  • get-pixels 分析 rgb 的灰度值采蚀,輸出不同的字符串標(biāo)識(shí)

關(guān)鍵代碼

class Imager{
    constructor(){
        this.bower = new Bower()
        this.gread = 'MNHQ&OC?7>!:-;.'

        this.jibie = 255 / this.gread.length
    }
    
    toShow(pixels) {
        // 分析圖片的灰度用不同的字符串來(lái)代替
        var str = ''

        var width = pixels.shape[0]
        var height = pixels.shape[1]
        for(var i=0; i<height; i++){
            for(var j=0; j<width; j++){
                var r = pixels.get(j,i,0)
                var g = pixels.get(j,i,1)
                var b = pixels.get(j,i,2)

                var grr = r * 0.299 + g * 0.587 + b * 0.114
                str += this.gread.charAt(Math.round(grr / this.jibie))
            }
            str+='\n'
        }

        console.log(str) // 輸出到控制臺(tái)
    }
    
}

輸入 node bin/irest image 周星馳 測(cè)試效果疲牵,就繪制出了周星馳的字符圖片

;;..;--::------;-::ON&H&HHQCC&QH?O7>>C>CO7QOQOC7&QH&&CQO---;;..........;;;;;;;;;.....;;----:-------
;;.;;--::::--:;-;-7QQHQQ?77&H&QOC&CQ??CCQQHHC&&&?O&O&H?>7-;;;...........;;;;;;;;;;;..;;----::::-----
;;.;;--:--:-----!HHHQO&HMNHQQN&&OCC?&OO&OOOCH&HQ&&O&QC&&O>-;;;.........;;;;;;;;;;;;..;;----:::::----
-;;;;--:::::::->HH&&NHHQ&&Q&&&HO&&CQQQQQQHHH&QH&&H&Q&OOOQC>;;;;.........;;;;;;;--;;..;;----:::::----
;;..;--:::-::-7QQQNNHQH&&QO&C&&&OOO&OHQQQQHNHNNHHQO?CH&?&HO:;;..........;;;;;----;;..;;;----::::----
;;..;--:::-:>!CNHHQHHHHHQQQHHQ&O&HNNHHHQ&&&NH&HQHHHNOCQQ&ONO;.........;;;;;;----;;;.;;;---:::::-:--
;;;.;--:::!!C&QHHQH&HHHNHQQ&HQQ&&COOOCOCQH&QCOHNQCQNHQHQNH7HQ;;..........;;;;----;;..;;;---:::::-:--
-;;.;;-::!!C&Q&NMNNNHHHHHNHO?Q&CCO?>>>!7?77CCCNH&&QHQQQCOHN7N>;;.........;;;;--;-;;..;;;---:::::-:--
--;.;--::!7&OHNNHHHHMHO?CQHNHQQ&&&OQC?!>>>CCCCOOQQQHHNHOQQNQHN.;.........;;;;;;;;;;;..;----:::::-:--
--;.;;-;!>7HQHMHMNNNHQ&QQQ?7?&Q&CO7&OC&&&HQ?7O&COOC&QHOHNCNNO&O........;;;;----;-;;;..;;;---::::::--
--;.;;->:7&?HQQNNNHHHQ&OQQQHQHQO7?C&O&QQQQQHHNHQOCCCOQHQQNH&OQH&......;;;;;;;----;;;..;;;---::::::--
--;;;;::>?&HQQCHNQQOOOO&OO?QQHCOCQ?H&Q&COQQQHNHHHHHHH&>CHHQ&QQQ&;.....;;;;;;;----;;;..;;;---::::::--
--;;;-;-?&&Q&NNN&&C?C?CO?C?CO&HO&7&COCCC&&OQHNNHNNMNHHNNO7CNHQQO7...;;;;;;;----;;;..;;;---:::::::-
;--;.;;!&QN&HHQH&QC????C?CC!&CH&OOCQ77OOCOOCHQNHMMMNMHNHHHC7NNHQ!.;...;;;;-------;;;;.;;----:::::::-
--;;;-!C&OCQNMH&C???77>777>?7>C7O7&!O&&??CO&&QQCQOQHNHNHNNHNQ7MNM......;;;--------;;;.;;----:::::::-
--;;;::?&QHHHQQC7>>!>>7>>>!!77>?CO7OC7??&7OOOCQHC&OCQH&HHHNNNNO?M>......;;;-------;;;.;;;--::::::::-
---;;-:HQNQ&NHO?>>!!!:!!>>>>!77?????C7&O7C77&&?&OHQHHQQ&QQHNHQHNOM.....;;;;-------;;;.;;;--::::::::-
--;;-!7CHMHNN&?7!!!!:!!!::::!!>7>77?CC&CCC?&>&&&&O&QQQHNNNM&Q&&&QQ!....;;;;;-----;;;;.;;;--::::::::-
--;;::?QHN&MOC7>!!!:::::::::::!!>>77?O?&OOC7N!OH&7Q&&HH&MHHHQO&&Q&&....;;;;;;-----;;;.;;;--::::::::-
--;;->&QHHOMC?7>!::::::::::--::!>!>!7??QOQ?HCCO?&N?C>HHHQNNOH&7H&&C-;.;;;;;;------;;;..;;--::::::::-
---;-;QNHHHQ?77!:::::::::::-:---!!::!>7?COOCONCO&&OQ&CQHO&QM&H&&&QH7;.;;;;;;------;;;..;;--::::::::-
--;-7>HHHMM&?77!!::::::::::--;;--!-;-:!7??OQC&HHC&H&C&OQQHQHHQQ&&OC&:;;;;;;;------;;;..;;;-::::::::-
;-;.:7QHHNN&77>>!::::::::::-;;;;-:::!!>>?CC??&Q&&Q&Q&HOOMQQQH&NC&C7?N;;;;;;;;;----;;;..;;;-::::::::-
;----?QHQNN&?7>!!::::::::::-;;;;-:>>>>!:!!>777&QHN&H&&C&QC&&QNH&CCCO!?.;;;;;;-----;;;..;;;-::::::::-
;--!-OHNHNMQ?7>!:::-----:----;->7???>>!::::>>77OQNHQHNHOQ&&N&OHHQ?OOC>:;;;;;;-----;;;..;;;-::::::::-
;--:-?HHHHMH?7>>!:------:--:-:>??C?COC77!!::!!>?O&QQHHQQCONQQQHQNOCCCC?-;---------;;;..;;;-:::::::::
;--:-CHHNHMN77>>:::-----:::!!>7??C&&>>?77!::::!7COQQNQH&OQHQHHQ&N&7QO&?--;--------;;;..;;;-:::::::::
---;-&HHNHNN?7>!::-:----:::!7???CC;:!>7:;;:::-::>?&NQ&HHQ?QNNHQO&NCN&QC7;;;-------;;;..;;;--::::::::
;--;:OQNNHMNC7>!:::-::--:::!???77!>CQNHHQO7!-;--:!COHH&NHO&7HNNNOQN?HOQC:----------;;;..;;--::::::::
---:!CQNNHMM&?>!!!!!::::::!!>77>7>QNQNH:!::-;;.;--!7Q&HHM&NQONNHHCHO&QCO7;---------;;;..;;--::::::::
;--::>&HNNNNH?>!>7?7>!!!:::!>>>>7H-OMH!:-;;....;;-::?QQHNNHHQNQ&HH&OQ&HC?----------;;;..;;--::::::::
;;--::ONNMHNMO7C&&&CC?>>!:::!!>7?&!-:::-;.....;;-:!>&QNQNHNMQNQHHHQQ&&OCO----------;;;.;;--::::::::
;---:-&&NNNNNHO&OOOOCC?7>!:--::>C?!!>:--;.....;---:!C&QQHHHQQHNNQQHO&&COO:---------;;..;;--::::::::
;--;:.HCQNNNHH&OCQ&?COC?7>!-;---:!7!::-;;;....;---::!7O&O&NQHNQHNNQH&N&QQC?--------;;;;;;;--::::::::
;----;!7ONNNNM?CH:7>!>>CO>!-.-;.:!!!:::-;;;.;;;-:::!!>?O&HHHHQ&&QNHQHNOO7HC;--------;;;..;;-::::::::
;---;-;??NNNNM7O-?&MHMO!??!;..;.;-:!!!:--;;;;---:::!!>>7&QQHH&N&MNQHHNOO&??>;-------;;;..;;-::::::::
;------77HHNNMN??N:NHM-&!7>-..;...;;--::-------:::::!!!>OHQQNQ&N&NNHHHHH?7O?!-------;;;..;;--:::::::
;;----;;7CCHHNM7CH!>Q>!>!7>-..;...;;;---------:::::::!!>?QQQQNHHHNNQHHQ&C&OCC-;;-----;;..;;--:::::::
;;----.;?:OHHNNOO&>:!!>!!7>;...;;;;-;--------:::::::!!>C&&QQNHHNHNQNHH&Q&>OO--------;;.;;;--:::::::
;;---;;;->HCHNNM!O77>>>!!>>;..;;--;--;;;;;----::-::::!!7O&QH&NHNNNNH&NNQC?HO>-------;;.;;;--:::::::
;;---;;;;:>7QNMN77>!>>!!!>>;.;;;--::---;;;;;-----:-::!!>?OO&Q&HMNNHN&NNCQ?7&&;;-----;;;.;;--:::::::
;;---;;;;-:OCHHNO>>!!!!!!>>-.;;;;;-:::-;;;;;;------::::!7COC&&&NNMHNNH&Q&O>7&C------;;;.;;--:::::::
;;---;;;;-:7>?NNN!>!!!!:!>!-;;-;;--!!:-;-;;;;-----::::!>C&?CO&HNNNHNNNHHQ?CCO-------;;;;;;-:::::::
;;---;;;;-:-?7HNM!!!!!::!>!-;.....;;:--:!-;;;;;-----::::!>?OCCCCHNNNNNNHHHQCO?C>:-----;;;;;;-:::::::
;;---;;;;--:->CHH!>!!!!:!>>:-;;;---:>-;;---;;;;-----::::!>?OCC?C&NNHNNNHNHQHCQ&&------;;;.;;-:::::::
.;---;;;;;:-::?ON?!!!!!!!!>!:--!;N&>?;;;.;---------:::::!>??????ONHNNMMMHQH7H&&??:;---;;..;;--::::::
;;;--;;;;--::::7HH>!>!!!!!!>!!!>&>77;;;;;;-:--:--::::::!>>C??777OHNNNNNNNHH&QOQH?>>--;;;;.;;--::::::
;;;--;;;;--:::!>>N!>!!!!!>!777CC>:-;;;;;;-;-::-::::::::!>7C7>>77&HNNNNMNNNH&QOQQC>!--;;;;;;;--::::::
;;;--;;;;---::!>!HH!!!!!!!>??77?>-;;;----:!:::::-::::!!!>CC>>!>>HNNNNNNNNHHQHO&Q??7---;;;;;;--::::::
;;;--;;;;---::::!!H?>>!!!!>7??7:!------:>>>7>!:-:::!!!!>7O?>!>!!MNMNNNNNNHHO&&&&&-7!---;;;;;--::::::
;;;--;;;;;--::!:!:QM!>7>!>>777>:>:---:--:?H>!!:::::!!!!>CO7>!!:QHQNNNNNNNQ&C?OQ7O7>:---;;;;;--::::::
;;;--;;;;;--::!:!:O&H>!!>>>7777:!:;.;::!CN!-::!!!!:!!:!>CC7>!>?NNNMNNNNNMH&QCCO7C!7!--;;;;;;--::::::
;;;---;;;;--::!::!;&H777>>>>>7>--:7CCOQH?.--:::!!!!!:!!7&?7!!-MHNNNNNNNNNH&HH>7??!7:---;;;;;--::::::
;;;---;;;;---::::!:?&M!7>>>>7>!>77??H7:!;;--:::::::::!!CO?7>!HNNNNNNNNNNMNHN&N?;>!!:--;;;;;;--::::::
;;;---;;;;---:::::!:OHQ!777>777O?OHC!:!;;---::--::::!>>QCC7>?NNNMMMNNNNNNHNQHHHHQ?.:---;;;;;--::::::
;;;---;;;;--::::::::>&&?>?7?C7&HH&7!::--:::::---::!!!7QOO??!NMNNNMNNNNNNNNNHHQQQ&QQHO!;..;;;---:::!:
;;;---;;;;--:::::::::>H?777?C&&C7>>!!!:!!:::---:::>>7O&&OC:MNMMMNNNNNNNMNNHHHHHHQ&&&&&&&QO>;..;::!::
;;;---;;;;;--:::::::::7H>777???777>7?7?!:::-----:!7>OHQQO!NMMNNNMNNNNNNNNNHHQQ&QQQQQQ&&&&O&&&Q&O?>:-
;;;---;;;;;--::::::::::7C:>7>?7777?77>>!!:-----:!>7OHQQ&7MNNNNMMNNNNNNNMNHHQHQHQ&&OQQ&O&&C&&&OO&&C&&
;;;;--;;.;;--:::::::::--C7>>7C7>7777>!!:-------!!7OHNQ&&MNNNMMNNNNNNNNNNNHQQQ&O&&Q&QOQOO&&&O&&C&&&&&
;;;;--;;;;;---:::::::--::>?-:C?7777>>!!------:!!7&NNQ&HNNMNMMNNNNNNNNNMMH&&Q&&&QQOOQQHQ&&&&&&&OQQ&&&
;;;;---;;;;;--::::::::--:::!>!77777>!:::::-:!!>>ONHQHMNNNNMMNNNNNNNNNNMHQQQ&Q&OO&QQQOQQQQQQO&&OQQOQQ
;;;;---;;;;---:::::::::--:-::>!777>>!!!:!!!!!7?&NNNMMNMNNMMNNNNNNNNNMMMNQQ&O&&&&Q&O&QHQQH&QO&&&&Q&&&
;;;;---;;;;;--:::::!:::--:-::::?7>>>!>!!!>>>7?ONMMMMMNNNNMMNNNNNNNNNMMMHHO&Q&QQQ&O&QQOQHH&QQQ&O&&O&Q
;;;;---;;;;;---:::::::-------::7O>7>>7!>77?COONMMMNNMNNNMNNNNNNNNNNMMMNQQQ&&Q&&O&QQ&&QQHH&&&Q&OQQOQQ
;;;;---;;;;;---::::::::------::!?Q7?77?CCOO&QMMMNMNNMMNMMNNNNNNNNNNMNNMQQQO&&&Q&&&OQH&QQH&QQ&QQQQOQQ
;;;;;--;;;;;---:::::::-;......-:O?NC7COOO&HNMMMMMMNMMMMMNNNNNMMNNNNNNNMQO&Q&QQ&O&Q&Q&&Q&&&HQO&QQQOQQ
;;;;;--;;;;;;.;;..........;;-!7?NNMHHHNMMMMMMMMMMMMMNNNNNNNMMMNNNMNNMQ&QQ&O&&QQQOQ&QO&QQH&OQQ&&&QQ
;;.............;..;...;;.-&?HNNMMMNNMMMMMMMMMMMNNNNNNNMMMMNNMNNNNQN&&&Q&QQO&&H&Q&Q&QHHOQQ&Q&QQ
......................;--!!QNNNNMMMMMMMMMMMMMMNNNNMMMMMMMMNNMMMNNQOQ&H&&OQ&QO&QQ&QHONQ&QQOQQHQ
.............;.........;;-;:&HNNNMMMNMMMMMMMMMNNNNMNMMMMMMMMNNMMMMHHOQ&Q&QQ&&&QQ&&QH&MOHQHQOQQQQ
.....................;.;;;.-;;:QNNNNNNNMMMMMMMMMMMNNNNNMMMMMMNNNNNMNNMQHQQC&QH&&Q&Q&Q&QCNH&HQQQ&QQOQ
..............;;;;.....;;-;;;QNHNNNNMNMMMMMMMMMMMNNNMMMMMMMMNNNNNMNMMHOHHO&Q?QQ&&&&Q&OMHH&QH&QQQQ&&
..............;;;;;;;-;;;-;.HNHNNNNNNNMMMMMMMMMMMMMMMMMMMMMMNNNNNMNMNH&&OQQ&QQOHQQ&Q&NOQH&QQ&QQQQOH
....;.....;;;;;;;;;;;;;;;;-NNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMNNNNNNMMNNQHQCQQOHQ&&OQQ&NH&QQQQQ&HH&Q&Q

大功告成承二,發(fā)布模塊

發(fā)布之前的注意事項(xiàng)

  • 注冊(cè)一個(gè)npm賬號(hào)
  • 然后把 package.json 里面的 devDependencies 修改成 dependencies,具體參見(jiàn) devdependencies dependencies區(qū)別

使用npm publish發(fā)布就大功告成了
測(cè)試 npm install irest-cli -g 成功~~~~~~~~
之后直接可以在全局使用 irest joke

總結(jié)

我很喜歡韓寒曾說(shuō)的一句話:對(duì)我來(lái)說(shuō)纲爸,所有事情的動(dòng)力就是喜歡
我總結(jié)為:我所為之付出的一切都是出于喜歡亥鸠,不管是人也好,事也好
最后插一句:目前我正在找工作识啦,有意的公司請(qǐng)聯(lián)系我负蚊,希望工作地點(diǎn)杭州 millent@126.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市颓哮,隨后出現(xiàn)的幾起案子家妆,更是在濱河造成了極大的恐慌,老刑警劉巖冕茅,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伤极,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡姨伤,警方通過(guò)查閱死者的電腦和手機(jī)哨坪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)乍楚,“玉大人当编,你說(shuō)我怎么就攤上這事⊥较” “怎么了忿偷?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)臊泌。 經(jīng)常有香客問(wèn)我鲤桥,道長(zhǎng),這世上最難降的妖魔是什么缺虐? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任芜壁,我火速辦了婚禮,結(jié)果婚禮上高氮,老公的妹妹穿的比我還像新娘慧妄。我一直安慰自己,他們只是感情好剪芍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布塞淹。 她就那樣靜靜地躺著,像睡著了一般罪裹。 火紅的嫁衣襯著肌膚如雪饱普。 梳的紋絲不亂的頭發(fā)上运挫,一...
    開(kāi)封第一講書(shū)人閱讀 51,274評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音套耕,去河邊找鬼谁帕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛冯袍,可吹牛的內(nèi)容都是我干的匈挖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼康愤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼儡循!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎修肠,沒(méi)想到半個(gè)月后恳谎,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片每庆。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖今穿,靈堂內(nèi)的尸體忽然破棺而出缤灵,到底是詐尸還是另有隱情,我是刑警寧澤蓝晒,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布腮出,位于F島的核電站,受9級(jí)特大地震影響芝薇,放射性物質(zhì)發(fā)生泄漏胚嘲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一洛二、第九天 我趴在偏房一處隱蔽的房頂上張望馋劈。 院中可真熱鬧,春花似錦晾嘶、人聲如沸妓雾。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)械姻。三九已至,卻和暖如春机断,著一層夾襖步出監(jiān)牢的瞬間楷拳,已是汗流浹背绣夺。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留欢揖,地道東北人陶耍。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像浸颓,于是被迫代替她去往敵國(guó)和親物臂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子旺拉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354