想为孩子取名,发现一个姓名打分网站,可以用爬虫进行打分
生成想要的名字 # 填写自己喜欢的单字姓名,进行排列组合 my_name_str = ["苏","雪","语","夕","汐","渊","思","源","若","羽","知","兮","暮","逸","君","夫","则","泽"] # 用来存储生成的姓名 my_name = [] # 填写自己的姓 first_name = "魏" for i in my_name_str: for j in my_name_str: if i!=j: my_name.append(i+j) print(my_name) 根据生成的名字组合成url进行请求 import requests import re headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' 'AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/67.0.3396.79 Safari/537.36' } url = 'https://xmcs.buyiju.com/' # html=requests.get(url,headers) params = { 'xs': first_name , 'action': 'test' } # 解析网页,获取分数 match1 = '<font color=ff0000 size=5>' match2 = '</font>' all_my_name = {} for i in my_name: params["mz"] = i html = requests.post(url, params) html.encoding = html.apparent_encoding my_html = html.text my_html = my_html[re.search(match1, my_html, flags=0).span()[1]:] my_html = my_html[:re.search(match2, my_html, flags=0).span()[0]] name = first_name+i all_my_name[name] = float(my_html) print(all_my_name[name]) dict2 = sorted(all_my_name) 打印输出 my_name_2 = {} dict1 = [] for d in dict2: if all_my_name[d] > 80: print(d+":"+str(all_my_name[d])) my_name_2[d] = all_my_name[d] dict1.append(d) 大于80分的姓名展示(部分) 魏兮君:87.0 魏兮汐:87.0 魏兮泽:87.0 魏兮渊:84.0 魏兮源:83.0 魏兮语:83.0 魏则兮:86.0 魏则君:84.0 魏则夫:86.0 魏则汐:84.0 魏则渊:81.0 魏则源:86.0 魏则羽:92.0 。。。