最近的乙個課程專案需要隨機生成名字,網上已有的解決方案是將姓,名放在兩個陣列裡,然後隨機組合,但是個人感覺不是很優雅。
找到乙個這樣的**。傳送門。
這不正是我想要的嗎。。。
還等什麼,直接上**吧。
import requests
from bs4 import beautifulsoup as bs
import random
defget_familyname_links()
: base_url =
""url =
"qiming.php"
r = requests.get(url)
soup = bs(r.text,
"html.parser"
) familynames = soup.find_all(
"ul",)
[0] familyname_links =
for familyname in familynames:
familyname_links[familyname.a.get_text()]
= base_url+familyname.a[
"href"
]return familyname_links
defget_names
(url)
: r = requests.get(url)
soup = bs(r.text,
"html.parser"
) selector = soup.select(
"body > div.listmain > div.listleft > div.listbox > div.listbox1_text")[
0]names =
for i in selector.ul.find_all(
"li"):
).strip())
return names
defget_all_names
(num_of_familyname =
3,num_of_name_per_familyname =10)
: all_names =
familyname_links = get_familyname_links(
) familynamecounter =
0for familyname,url in familyname_links.items():
familynamecounter +=
1 names = get_names(url)
for i in
range
(num_of_name_per_familyname):)
if familynamecounter == num_of_familyname:
break
;return all_names
defwrite_names_to_file
(names)
: random.shuffle(names)
with
open
("names.txt"
,"w"
)as f:
for name in names:
f.write(name+
"\n"
)if __name__ ==
'__main__'
: write_names_to_file(get_all_names(
))
最終效果:
是不是很有隨機的感覺 ?。
獲取列舉中文名
資料庫 f getenumname select dbo.f getenumname ufida.u9.mo.enums.mostateenum 2,zh cn 列印獲取列舉名稱請使用函式getenumname,getenumname ufida.u9.base.doc.businesstypeen...
C 隨機生成中文名的例項
本人剛開始學c 最近在做一些資料處理的案例,為了避免資料錄入浪費時間,所以就寫了乙個自動生成隨機資料的程式,需要的可以拿走,不謝。inline void databaseroll string name,string string class1,string major 百家姓 複姓 string ...
用C C 生成隨機中文名字
今天寫了個這個功能,有點粗糙,可能會有很多地方要修改,思路很簡單,大家一看就明白,一直想起個比較有意義的的起名,貌似不怎麼好實現 分享下 附加乙個 gb2312的對照表 1 include 2 include 3 include 45 499個 0 498,百家姓 6const char nameh...