this is based on calsyslab project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
3.7 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. __author__ = 'DarkWeb'
  2. '''
  3. Starting point of the Darkweb Markets Mining
  4. '''
  5. from datetime import *
  6. from MarketPlaces.DarkFox.crawler_selenium import crawler as crawlerDarkFox
  7. from MarketPlaces.MikesGrandStore.crawler_selenium import crawler as crawlerMikesGrandStore
  8. from MarketPlaces.DarkTor.crawler_selenium import crawler as crawlerDarkTor
  9. from MarketPlaces.AnonymousMarketplace.crawler_selenium import crawler as crawlerAnonymousMarketplace
  10. from MarketPlaces.CityMarket.crawler_selenium import crawler as crawlerCityMarket
  11. from MarketPlaces.M00nkeyMarket.crawler_selenium import crawler as crawlerM00nkeyMarket
  12. from MarketPlaces.ViceCity.crawler_selenium import crawler as crawlerViceCity
  13. from MarketPlaces.CypherMarketplace.crawler_selenium import crawler as crawlerCypher
  14. from MarketPlaces.PabloEscobarMarket.crawler_selenium import crawler as crawlerPabloEscobar
  15. from MarketPlaces.Bohemia.crawler_selenium import crawler as crawlerBohemia
  16. from MarketPlaces.TheDarkMarket.crawler_selenium import crawler as crawlerTheDarkMarket
  17. import configparser
  18. import os
  19. import subprocess
  20. config = configparser.ConfigParser()
  21. config.read('../../setup.ini')
  22. CURRENT_DATE = str("%02d" % date.today().month) + str("%02d" % date.today().day) + str("%04d" % date.today().year)
  23. # reads list of marketplaces
  24. def getMarkets():
  25. mkts = []
  26. with open('MarketsList.txt') as f:
  27. mkts = f.readlines()
  28. return mkts
  29. # Creates needed directories for marketplace if doesn't exist
  30. def createDirectory(mkt):
  31. # Package should already be there, holding crawler and parser
  32. # pagesDir = '../' + mkt + '/HTML_Pages'
  33. pagesDir = os.path.join(config.get('Project', 'shared_folder'), "MarketPlaces/" + mkt + "/HTML_Pages")
  34. if not os.path.isdir(pagesDir):
  35. os.makedirs(pagesDir)
  36. currentDateDir = pagesDir + '/' + CURRENT_DATE
  37. if not os.path.isdir(currentDateDir):
  38. os.mkdir(currentDateDir)
  39. listingDir = currentDateDir + '/Listing'
  40. if not os.path.isdir(listingDir):
  41. os.mkdir(listingDir)
  42. listReadDir = listingDir + '/Read'
  43. if not os.path.isdir(listReadDir):
  44. os.mkdir(listReadDir)
  45. descriptionDir = currentDateDir + '/Description'
  46. if not os.path.isdir(descriptionDir):
  47. os.mkdir(descriptionDir)
  48. descReadDir = descriptionDir + '/Read'
  49. if not os.path.isdir(descReadDir):
  50. os.mkdir(descReadDir)
  51. # Opens Tor Browser
  52. def opentor():
  53. global pid
  54. print("Connecting Tor...")
  55. pro = subprocess.Popen(config.get('TOR', 'firefox_binary_path'))
  56. pid = pro.pid
  57. # time.sleep(7.5)
  58. input('Press ENTER when Tor is connected to continue')
  59. return
  60. if __name__ == '__main__':
  61. # opentor()
  62. mktsList = getMarkets()
  63. for mkt in mktsList:
  64. mkt = mkt.replace('\n','')
  65. print("\nCreating listing and description directories ... for " + mkt)
  66. createDirectory(mkt)
  67. print("Directories created.")
  68. if mkt == "DarkFox":
  69. # for base in json["DarkFox"]["base"]:
  70. # if crawlerDarkFox(base["url"], base["categories"]):
  71. # break
  72. crawlerDarkFox()
  73. elif mkt == "MikesGrandStore":
  74. crawlerMikesGrandStore()
  75. elif mkt == "DarkTor":
  76. crawlerDarkTor()
  77. elif mkt == "AnonymousMarketplace":
  78. crawlerAnonymousMarketplace()
  79. elif mkt == "CityMarket":
  80. crawlerCityMarket()
  81. elif mkt == "M00nkeyMarket":
  82. crawlerM00nkeyMarket()
  83. elif mkt == "ViceCity":
  84. crawlerViceCity()
  85. elif mkt == "CypherMarketplace":
  86. crawlerCypher()
  87. elif mkt == "PabloEscobarMarket":
  88. crawlerPabloEscobar()
  89. elif mkt == "TheDarkMarket":
  90. crawlerTheDarkMarket()
  91. print("\nScraping process completed!")