python爬虫检索163邮箱用户名是否可用

项目描述:

给一个用户名文件,从文件中读取所有用户名,然后判断用户名是否能够注册163邮箱,最后将是否可用输出到文件。

解决思路:

163邮箱在检测用户名是否可用时,会发起一个get请求到服务器,返回一个字符串,字符串中包括此用户名可以注册哪几个后缀的邮箱。

模拟get请求的URL,解析返回字符串,判断是否可以注册163邮箱。

import requests

NAMEFILE = 'userName.csv'
OUTFILE = 'result.csv'

def check_result(username):
    Headers = {
        "User - Agent": "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 79.0.3945.79Safari / 537.36"
    }
    respons = requests.get(
        'https://reg.mail.163.com/unireg/call.do?cmd=urs.checkName&name={}&jsessionid=6751485744350'.format(username),
        headers=Headers)

    if '"163.com":1' in respons.text:
        return True
    else:
        return False



def read_csv():
    nameList = []
    with open(NAMEFILE,'r') as f:
        line = f.readline()
        while line:
            namelist = line.split(',')
            for name in namelist:
                if name != '':
                    nameList.append(name)
            line = f.readline()
    return nameList


def write_csv(namelist):
    with open(OUTFILE,'w') as f:
        for name in namelist:
            if check_result(name):
                f.write('{},True\n'.format(name))
            else:
                f.write('{},False\n'.format(name))



def main():

    nameList = read_csv()

    write_csv(nameList)


if __name__ == '__main__':
    main()

 

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