Example #1
0
    def __init__(self, url):
        self.object_id = id(self)
        self.name = "My Little Ichy Spider"
        self.this_path = os.path.dirname(os.path.realpath(__file__))

        # inherit Settings
        self.settings = SpiderSetting()
        self.data = SpiderData()

        # Create as Session for the base URL
        self.session = requests.Session()

        # Verbose output
        self.verbose = self.settings.verbose

        # Get URL
        self.url = url

        # origin URL
        self.origin = {
            "scheme": '',
            "netloc": '',
            "path": '',
            "params": '',
            "query": '',
            "fragment": ''
        }

        # Save the URLs
        # self.hrefs_intern = [self.url]  # first url in list
        self.hrefs_all = []

        # queue object to iterate later for vulnerabilities
        from queue import Queue
        self.queue_to_audit = Queue()

        # put the base url into the Queue to start
        self.queue_to_audit.put(self.url)

        # update all methods
        self.iter_funcs = []
        self.functions()
        self.validate_url_orgin()