用爬虫在网上进行批量的名字打分

用爬虫在网上进行批量的名字打分

该网站是我们输入,然后返回结果,所以我们进行network来进行抓包处理,修改一些参数就可以批量处理

import requests
from bs4 import BeautifulSoup

def get_name_mark(xing,ming):			#输入姓名与名
    url='https://life.httpcn.com/xingming.asp'

    data={
    'isbz': 0,
    'xing':xing.encode('gb2312'),           #因为网站的编码是gb2312,所以中文我们需要编码成gb2312格式,再给网站进行传输
    'ming':ming.encode('gb2312'),
    'sex': 1,
    'data_type': 0,
    'year': 1980,
    'month': 5,
    'day': 26,
    'hour': 12,
    'minute': 10,
    'pid':'',
    'cid':'',
    'wxxy': 0,
    'xishen': '金'.encode('gb2312'),
    'yongshen': '金'.encode('gb2312'),
    'check_agree': 'agree',
    'act': 'submit'
    }

    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0',
        'Referer':'https://life.httpcn.com/xingming.asp',
        'Content-Type':'application/x-www-form-urlencoded'
    }

    r=requests.post(url,data=data,headers=headers)		#网站是post的方法
    r.encoding='gb2312'
    soup=BeautifulSoup(r.text,'html.parser')
    divs=soup.find('div',class_='l_form_ok').find_all('div',class_='chaxun_b')
    for div in divs:
        if '姓名五格评分' not in div.get_text():
            continue
        fonts=div.find_all('font')
        return xing+ming,fonts[0].get_text(),fonts[1].get_text()

# name.txt文件是批量的名字不包括姓,一行一个名字  
with open('name.txt','r',encoding='utf-8') as f , open('name_mark.txt','w',encoding='utf-8') as file:
    names=f.readlines()
    i=0
    for name in names:
        name=name.strip()                   #去除姓名的俩边空格
        try:                                #若方法出现解码等问题就跳过
            n,mark,suggect=get_name_mark('谢',name)
        except:
            print('error')
            continue
        file.write(f'{n}\t{mark}\t{suggect}\n')
        print(i)
        i+=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值