__author__ = 'DarkWeb'
|
|
|
|
'''
|
|
Starting point of the Darkweb Markets Mining
|
|
'''
|
|
|
|
from datetime import *
|
|
from MarketPlaces.DarkFox.crawler_selenium import crawler as crawlerDarkFox
|
|
from MarketPlaces.MikesGrandStore.crawler_selenium import crawler as crawlerMikesGrandStore
|
|
from MarketPlaces.DarkTor.crawler_selenium import crawler as crawlerDarkTor
|
|
from MarketPlaces.AnonymousMarketplace.crawler_selenium import crawler as crawlerAnonymousMarketplace
|
|
from MarketPlaces.CityMarket.crawler_selenium import crawler as crawlerCityMarket
|
|
from MarketPlaces.M00nkeyMarket.crawler_selenium import crawler as crawlerM00nkeyMarket
|
|
from MarketPlaces.ViceCity.crawler_selenium import crawler as crawlerViceCity
|
|
from MarketPlaces.CypherMarketplace.crawler_selenium import crawler as crawlerCypher
|
|
from MarketPlaces.PabloEscobarMarket.crawler_selenium import crawler as crawlerPabloEscobar
|
|
from MarketPlaces.DarkBazar.crawler_selenium import crawler as crawlerDarkBazar
|
|
from MarketPlaces.Sonanza.crawler_selenium import crawler as crawlerSonanza
|
|
from MarketPlaces.Kingdom.crawler_selenium import crawler as crawlerKingdom
|
|
from MarketPlaces.BlackPyramid.crawler_selenium import crawler as crawlerBlackPyramid
|
|
from MarketPlaces.Quest.crawler_selenium import crawler as crawlerQuest
|
|
from MarketPlaces.Ares.crawler_selenium import crawler as crawlerAres
|
|
from MarketPlaces.Bohemia.crawler_selenium import crawler as crawlerBohemia
|
|
from MarketPlaces.TheDarkMarket.crawler_selenium import crawler as crawlerTheDarkMarket
|
|
from MarketPlaces.GoFish.crawler_selenium import crawler as crawlerGoFish
|
|
from MarketPlaces.ZeroDay.crawler_selenium import crawler as crawlerZeroDay
|
|
from MarketPlaces.Torzon.crawler_selenium import crawler as crawlerTorzon
|
|
from MarketPlaces.DarkMarket.crawler_selenium import crawler as crawlerDarkMarket
|
|
from MarketPlaces.DarkDock.crawler_selenium import crawler as crawlerDarkDock
|
|
from MarketPlaces.SilkRoad4.crawler_selenium import crawler as crawlerSilkRoad4
|
|
from MarketPlaces.DarkRoad.crawler_selenium import crawler as crawlerDarkRoad
|
|
|
|
import configparser
|
|
import os
|
|
import subprocess
|
|
|
|
config = configparser.ConfigParser()
|
|
config.read('../../setup.ini')
|
|
CURRENT_DATE = str("%02d" % date.today().month) + str("%02d" % date.today().day) + str("%04d" % date.today().year)
|
|
|
|
|
|
# reads list of marketplaces
|
|
def getMarkets():
|
|
mkts = []
|
|
with open('MarketsList.txt') as f:
|
|
mkts = f.readlines()
|
|
return mkts
|
|
|
|
|
|
# Creates needed directories for marketplace if doesn't exist
|
|
def createDirectory(mkt):
|
|
|
|
# Package should already be there, holding crawler and parser
|
|
# pagesDir = '../' + mkt + '/HTML_Pages'
|
|
pagesDir = os.path.join(config.get('Project', 'shared_folder'), "MarketPlaces/" + mkt + "/HTML_Pages")
|
|
if not os.path.isdir(pagesDir):
|
|
os.makedirs(pagesDir)
|
|
|
|
currentDateDir = pagesDir + '/' + CURRENT_DATE
|
|
if not os.path.isdir(currentDateDir):
|
|
os.mkdir(currentDateDir)
|
|
|
|
listingDir = currentDateDir + '/Listing'
|
|
if not os.path.isdir(listingDir):
|
|
os.mkdir(listingDir)
|
|
|
|
listReadDir = listingDir + '/Read'
|
|
if not os.path.isdir(listReadDir):
|
|
os.mkdir(listReadDir)
|
|
|
|
descriptionDir = currentDateDir + '/Description'
|
|
if not os.path.isdir(descriptionDir):
|
|
os.mkdir(descriptionDir)
|
|
|
|
descReadDir = descriptionDir + '/Read'
|
|
if not os.path.isdir(descReadDir):
|
|
os.mkdir(descReadDir)
|
|
|
|
|
|
# Opens Tor Browser
|
|
def opentor():
|
|
global pid
|
|
print("Connecting Tor...")
|
|
pro = subprocess.Popen(config.get('TOR', 'firefox_binary_path'))
|
|
pid = pro.pid
|
|
# time.sleep(7.5)
|
|
input('Press ENTER when Tor is connected to continue')
|
|
return
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
opentor()
|
|
|
|
mktsList = getMarkets()
|
|
|
|
for mkt in mktsList:
|
|
mkt = mkt.replace('\n','')
|
|
|
|
print("\nCreating listing and description directories ... for " + mkt)
|
|
createDirectory(mkt)
|
|
print("Directories created.")
|
|
|
|
if mkt == "DarkFox":
|
|
# for base in json["DarkFox"]["base"]:
|
|
# if crawlerDarkFox(base["url"], base["categories"]):
|
|
# break
|
|
crawlerDarkFox()
|
|
elif mkt == "MikesGrandStore":
|
|
crawlerMikesGrandStore()
|
|
elif mkt == "DarkTor":
|
|
crawlerDarkTor()
|
|
elif mkt == "AnonymousMarketplace":
|
|
crawlerAnonymousMarketplace()
|
|
elif mkt == "CityMarket":
|
|
crawlerCityMarket()
|
|
elif mkt == "M00nkeyMarket":
|
|
crawlerM00nkeyMarket()
|
|
elif mkt == "ViceCity":
|
|
crawlerViceCity()
|
|
elif mkt == "CypherMarketplace":
|
|
crawlerCypher()
|
|
elif mkt == "PabloEscobarMarket":
|
|
crawlerPabloEscobar()
|
|
elif mkt == "DarkBazar":
|
|
crawlerDarkBazar()
|
|
elif mkt == "Sonanza":
|
|
crawlerSonanza()
|
|
elif mkt == "Kingdom":
|
|
crawlerKingdom()
|
|
elif mkt == "BlackPyramid":
|
|
crawlerBlackPyramid()
|
|
elif mkt == "Quest":
|
|
crawlerQuest()
|
|
elif mkt == "Ares":
|
|
crawlerAres()
|
|
elif mkt == "GoFish":
|
|
crawlerGoFish()
|
|
elif mkt == "TheDarkMarket":
|
|
crawlerTheDarkMarket()
|
|
elif mkt == "ZeroDay":
|
|
crawlerZeroDay()
|
|
elif mkt == "Torzon":
|
|
crawlerTorzon()
|
|
elif mkt == "DarkMarket":
|
|
crawlerDarkMarket()
|
|
elif mkt == 'DarkDock':
|
|
crawlerDarkDock()
|
|
elif mkt == "SilkRoad4":
|
|
crawlerSilkRoad4()
|
|
elif mkt == "DarkRoad":
|
|
crawlerDarkRoad()
|
|
|
|
print("\nScraping process completed!")
|