python3批量查询域名权重、标题

自己写了个 供大家参考
用法:python3 xxx.py -r xxx.txt

#coding=utf-8
#author=cbd666
import progressbar
import argparse
import requests
import re

def main():
    # 指定-r参数
    parser = argparse.ArgumentParser()
    parser.add_argument('-r', dest='read', help='select domains file')
    args = parser.parse_args()
    html = '''
    <!DOCTYPE html>
    <html>
    <head>
        <title>批量查询权重和标题</title>
    </head>
    <style type="text/css">
        .xxxx{
            padding-left: 150px;
        }

        td{
            height: 20px;
            line-height: 20px;
            text-align: center;
            padding-left:140px;
        }

    </style>
    <body>
        <table>
            <tr>
                <th class="xxxx">域名</th>
                <th class="xxxx">权重查询</th>
                <th class="xxxx">网站标题</th>
            </tr>'''
    html_file = open('test.html','w')
    # 参数为空 输出--help命令
    if args.read == None:
        parser.print_help()
    # 从文件中读取每行的域名
    try:
        f = open(args.read,"r")
        lines = ''.join(f.readlines()).split("\n")
        print(lines)
        #tb = pt.PrettyTable(["域名","百度权重","站点标题"])
        p = progressbar.ProgressBar()
        for domain in p(lines):
            url = 'http://seo.chinaz.com/{domain}'.format(domain=domain)
            headers = {
                'Host': 'seo.chinaz.com',
                'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0',
                'Content-Type': 'application/x-www-form-urlencoded',
            }


            data = 'm=&host={domain}'.format(domain=domain)

            try:
                response = requests.post(url=url,headers=headers,data=data,timeout=10)
                resp = response.content.decode('utf-8')
                # 百度权重正则

                baidu = re.search(r'baiduapp/(.*?).gif',resp).group(1)
                if domain[:3] == 'www' and domain[:4] != 'http' and domain[:4] !='https':
                    domain = 'http://' + domain
                # 站点标题正则
                domain_name = re.compile(r'class="ball">(.*?)</div>')
                name = domain_name.findall(resp)[0]
                html += '''
                        <tr>
                            <td><a href="{0}" target='_blank'>{1}</a></td>
                            <td>{2}</td>
                            <td>{3}</td>
                        </tr>
                '''.format(domain,domain,baidu,name)
            except Exception as e:
                pass
        print('查询完毕,结果保存在当前目录下的test.html文件中。')

    except Exception as e:
        print(e) 
    html += '''
    </table>
    </body>
    </html>
    '''
    html_file.write(html)


if __name__ == '__main__':
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值