python爬虫练习(姓名打分)

想为孩子取名,发现一个姓名打分网站,可以用爬虫进行打分

  • 生成想要的名字
# 填写自己喜欢的单字姓名,进行排列组合
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
。。。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值