標籤:

論如何用Python科學的(Randomly)取名

最近手機收到一個詐騙簡訊,大意是這樣的:

「你有***積分可以兌換***元,請登錄am-95588.cn兌換」。

隨後我分析了提交數據的網頁,就是一個很簡單的POST,不過網站很狡猾的設計為非手機的UserAgent無法打開。所以我模擬了手機瀏覽器的行為,並且準備提交垃圾數據,順便混淆一下那些受害者(我想不會有吧)。

在生成密碼,手機號或者銀行卡賬號的時候都好辦,只要按照規則生成就可以,關鍵是名字的生成。

我弄來了百家姓,順手搞來了常用名字用字,寫了一個這樣的函數:

import numpy.random as nprnnri = npr.randintnndef genName(lastNameSize=1, firstNameLimit=30):n firstName = ["趙","錢","孫","李","周","吳","鄭","王","馮","陳","楮",n "衛","蔣","沈","韓","楊","朱","秦","尤","許","何","呂",n "施","張","孔","曹","嚴","華","金","魏","陶","姜","戚",n "謝","鄒","喻","柏","水","竇","章","雲","蘇","潘","葛",n "奚","范","彭","郎","魯","韋","昌","馬","苗","鳳","花",n "方","俞","任","袁","柳","酆","鮑","史","唐","費","廉",n "岑","薛","雷","賀","倪","湯","滕","殷","羅","畢","郝",n "鄔","安","常","樂","於","時","傅","皮","卞","齊","康",n "伍","余","元","卜","顧","孟","平","黃","和","穆","蕭",n "尹","姚","邵","湛","汪","祁","毛","禹","狄","米","貝",n "明","臧","計","伏","成","戴","談","宋","茅","龐","熊",n "紀","舒","屈","項","祝","董","梁","杜","阮","藍","閩",n "席","季","麻","強","賈","路","婁","危","江","童","顏",n "郭","梅","盛","林","刁","鍾","徐","丘","駱","高","夏",n "蔡","田","樊","胡","凌","霍","虞","萬","支","柯","昝",n "管","盧","莫","經","房","裘","繆","干","解","應","宗",n "丁","宣","賁","鄧","郁","單","杭","洪","包","諸","左",n "石","崔","吉","鈕","龔","程","嵇","邢","滑","裴","陸",n "榮","翁","荀","羊","於","惠","甄","麹","家","封","芮",n "羿","儲","靳","汲","邴","糜","松","井","段","富","巫",n "烏","焦","巴","弓","牧","隗","山","谷","車","侯","宓",n "蓬","全","郗","班","仰","秋","仲","伊","宮","寧","仇",n "欒","暴","甘","斜","厲","戎","祖","武","符","劉","景",n "詹","束","龍","葉","幸","司","韶","郜","黎","薊","薄",n "印","宿","白","懷","蒲","邰","從","鄂","索","咸","籍",n "賴","卓","藺","屠","蒙","池","喬","陰","郁","胥","能",n "蒼","雙","聞","莘","黨","翟","譚","貢","勞","逄","姬",n "申","扶","堵","冉","宰","酈","雍","郤","璩","桑","桂",n "濮","牛","壽","通","邊","扈","燕","冀","郟","浦","尚",n "農","溫","別","庄","晏","柴","瞿","閻","充","慕","連",n "茹","習","宦","艾","魚","容","向","古","易","慎","戈",n "廖","庾","終","暨","居","衡","步","都","耿","滿","弘",n "匡","國","文","寇","廣","祿","闕","東","歐","殳","沃",n "利","蔚","越","夔","隆","師","鞏","厙","聶","晁","勾",n "敖","融","冷","訾","辛","闞","那","簡","饒","空","曾",n "毋","沙","乜","養","鞠","須","豐","巢","關","蒯","相",n "查","後","荊","紅","游","竺","權","逑","蓋","益","桓",n "公","万俟","司馬","上官","歐陽","夏侯","諸葛","聞人",n "東方","赫連","皇甫","尉遲","公羊","澹臺","公冶","宗政",n "濮陽","淳于","單于","太叔","申屠","公孫","仲孫","軒轅",n "令狐","鍾離","宇文","長孫","慕容","鮮於","閭丘","司徒",n "司空","丌官","司寇","仉","督","子車","顓孫","端木",n "巫馬","公西","漆雕","樂正","壤駟","公良","拓拔","夾谷",n "宰父","穀梁","晉","楚","閻","法","汝","鄢","塗","欽",n "段干","百里","東郭","南門","呼延","歸","海","羊舌",n "微生","岳","帥","緱","亢","況","後","有","琴","梁丘",n "左丘","東門","西門","商","牟","佘","佴","伯","賞","南宮",n "墨","哈","譙","笪","年","愛","陽","佟"];n lastName = ["嘉","哲","俊","博","妍","樂","佳","涵","晨","宇","怡",n "澤","子","凡","悅","思","奕","依","浩","泓","彤","冰",n "媛","凱","伊","淇","淳","一","潔","茹","清","吉","源",n "淵","和","函","妤","宜","雲","琪","菱","宣","沂","健",n "信","欣","可","洋","萍","榮","榕","含","佑","明","雄",n "梅","芝","英","義","淑","卿","乾","亦","芬","萱","昊",n "芸","天","嵐","昕","堯","鴻","棋","琳","孜","娟","宸",n "林","喬","琦","丞","安","毅","凌","泉","坤","晴","竹",n "嫻","婕","恆","渝","菁","齡","弘","佩","勛","寧","元",n "棟","盈","江","卓","春","晉","逸","沅","倩","昱","綺",n "海","聖","承","民","智","棠","容","羚","峰","鈺","涓",n "新","莉","恩","羽","妮","旭","維","家","泰","詩","諺",n "陽","彬","書","苓","漢","蔚","堅","茵","耘","喆","國",n "侖","良","裕","融","致","富","德","易","虹","綱","筠",n "奇","平","蓓","真","之","凰","樺","玫","強","村","沛",n "汶","鋒","彥","延","庭","霞","冠","益","劭","鈞","薇",n "亭","瀚","桓","東","瀅","恬","瑾","達","群","茜","先",n "洲","溢","楠","基","軒","月","美","心","茗","丹","森",n "學","文"];n firstName = firstName[:firstNameLimit] #僅僅取前firstNameLimit個常用姓氏n nameStr = firstName[ri(len(firstName))]n for i in range(lastNameSize):n nameStr += lastName[ri(len(lastName))]n return nameStrn

這樣可以生成自定義名字長度和隨機姓氏使用範圍的一個名字。

讓我們來使用它一下:

# 生成一個名字長度為10的名字(總)nprint genName(lastNameSize=10)n# Out:李菱婕可凡村妍喆嘉鴻沂n

好吧,當我沒生成過

# 隨機生成50個名字nnameList = []nfor i in range(50):n nameSize = ri(2) + 1n nameList.append(genName(lastNameSize=nameSize))n# 輸出nprint ",".join(nameList)n# Out: 朱凰泉,趙哲,孔宇家,鄭天,許元承,楮達玫,孔棠,錢承洲,馮汶恩,孫渝融,周劭,楊雄,曹容,施卿琦,何溢潔,魏樺寧,孔平,華彥芸,韓益楠,金毅,蔣泰,何依,孫奇,張沅,孫易洋,吳思嵐,蔣蔚,馮真,吳林凌,許容渝,施潔,吳春,朱凡,何民,施寧蓓,張茜,魏恬凌,嚴卓澤,趙琪菁,秦喬,孫淇,錢鈞,陳含瀚,孔益芝,呂悅平,韓榕,曹易,嚴可萱,尤恆平,馮德雄n

看上去都是些很大眾化的名字,扔到人堆里看不出來的那種,適合特務取名的時候使用。

對了,我今天就是來搞笑的,順便,犯罪分子估計發現了,網站已經關了(本來還想注入一下玩玩的),祝大家身體愉快,晚安!


推薦閱讀:

如何給大學起校名
名人是如何給子女取名的?
「化用老祖宗」如何從詩詞歌賦中鍊字取名?
給後代子孫取名,這四個字千萬不要用!
人用取名的注意事項

TAG:Python | 取名 |