利用Python进行随机取名

有时候需要随机取很多名字,又不想费脑子,我们可以利用python的random模块来随机取名

import requests,openpyxl
import numpy as np
from bs4 import BeautifulSoup
#第一步:爬取2500个常用汉字
URL='https://www.zdic.net/zd/zb/cc1/'  #主网页
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}  #没个人的浏览器这里可能不一样

html=requests.get(url=URL,headers=headers)

res=BeautifulSoup(html.text,"html.parser")
all_info=res.find("div",class_="nr-box")
Chinese=all_info.find_all("div",class_="bs_index3")
CH=[]
all_Chinese=[]  #储存2500个常用汉字
for i in Chinese:
    CH.append(i.text.strip('\n').split('\n'))  #列表CH是列表嵌套列表的形式。需要转化成一个常规列表(每个元素是一个文字)
for ch in CH:
    for i in ch:
        all_Chinese.append(i)
#第二步,制作随机名
name_list=[]  #储存名字的列表
for n in range(100):   #想要取几个随机名字就改成多少,这里是100个
    idxs = np.random.randint(0, len(all_Chinese), size=6)  # 生成长度为6的随机数组,作为索引
    name=[]  #用于存取6个字符的列表
    for i in idxs:
        name.append(all_Chinese[i])
    name1="".join(name)  #将列表中的元素拼接成字符串并且储存在列表中
    name_list.append([name1])
    print(name1)
#第三步,写入excel中:
wb = openpyxl.Workbook() #写入对象,用到openpyxl.Workbook()函数
sheet = wb.active #获取该工作薄的活动工作表,通常是第一个sheet
sheet.title = '随机结果' #把活动工作表命名为‘随机结果’
sheet["A1"]="随机名字(6个字符)"
for i in name_list:
    sheet.append(i)
wb.save('D:\\Python-study\\test\\随机取名.xlsx')  #把该工作薄命名并保存


你可能感兴趣的:(python,random)