子域名爬取-alienvault站点爬虫

import requests
import time
import os
import sys


class Alienvault:
    def __init__(self, domain):
        self.domain = domain

    def run(self):
        base = 'https://otx.alienvault.com/api/v1/indicators/domain'
        dns = f'{base}/{self.domain}/passive_dns'
        resp = requests.get(dns)
        return resp

    def output(self, text):
        dir = 'result'
        if not os.path.exists(dir):
            os.mkdir(dir)

        if text:
            logfile = dir + '/' + self.domain.strip() + '-' + str(self.__class__.__name__) + '.txt'
            with open(logfile, 'w+', encoding='utf-8') as f:
                f.write(text)


if __name__ == '__main__':
    file = "targets.txt"       # 此处添加文件名
    with open(file, 'r', encoding='utf-8') as f:
        for domain in f.readlines():
            time.sleep(3)
            alienvault = Alienvault(domain.strip())
            resp = alienvault.run()
            alienvault.output(resp.text)
            print(resp.text)

posted @ 2022-03-17 21:16  总得前行  阅读(133)  评论(0编辑  收藏  举报