I'm a huge fan of DJ Screw. His mixtapes make for superb background music.
What up HTINE? It's going DINE, baby. —DJ Screw
Back in 2021, I wrote a script to download all 300+ DJ Screw mixtapes. I had this script sitting on my computer for 2 years, but for some reason I never got around to letting it run to completion until yesterday. Now I got my 45GB of Screw tapes and there's no reason not to share my secret recipe with the world. You're welcome.
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Mon Jul 5 08:14:42 2021 @author: nate """ import requests import urllib import wget from lxml import html import re import json import sys import time import os.path import subprocess #create this bar_progress method which is invoked automatically from wget def bar_progress(current, total, width=80): progress_message = "Downloading: %d%% [%d / %d] bytes" % (current / total * 100, current, total) sys.stdout.write("\r" + progress_message) sys.stdout.flush() def download_file(url): local_filename = url.split('/')[-2] # NOTE the stream=True parameter below with requests.get(url, stream=True) as r: r.raise_for_status() with open(local_filename, 'wb') as f: for chunk in r.iter_content(chunk_size=8192): # If you have chunk encoded response uncomment if # and set chunk_size parameter to None. #if chunk: f.write(chunk) return local_filename with open("./screw.txt","r") as f: links = f.read().split("\n") for i in range(0,len(links)-1): print(f"================ {i}/{len(links)-1} =================") print(f"links[i]: {links[i]}") print("====== parsing page..... ") r = requests.get(links[i]) tree = html.fromstring(r.content) x = tree.find_class("boxy-ttl hover-badge") dl_links = [] for elt in x: link = "https://archive.org" + elt.get("href") dl_links.append(link) #print(link) print("====== Done") L = dl_links[1] L = L.replace(" ", "%20") print(f"Got link: {L}") time.sleep(2) fname = "./output/"+ L.split("/")[4] + ".zip" print(f"fname: {fname}") if os.path.isfile(fname): print(f"{i}/{len(links)-1}: File already exists.") continue to_run = "wget "+ L + " --output-document="+fname print("running command: "+to_run) os.system(to_run) print("done")
I know how to write good web scrapers in Python, and this is awful by my standards. But there's no point in fixing it because it works. To run this, you'll also need to save the following text in a file ./screw.txt
:
https://archive.org/details/20200530_20200530_1609 https://archive.org/details/20200531_20200531_0153 https://archive.org/details/DJScrewChapter106OnAPint1995 https://archive.org/details/20200531_20200531_0148 https://archive.org/details/DJScrewChapter007BallinInDaMall1997 https://archive.org/details/DJScrewChapter028WorldwideSouthside1998 https://archive.org/details/DJScrewChapter010SouthsideStillHolding1999 https://archive.org/details/DJScrewChapter017ShowUpAndPourUp1996 https://archive.org/details/DJScrewChapter042PoppedUpSmokedUp1996 https://archive.org/details/DJScrewChapter085RichesOverBitches1998 https://archive.org/details/DJScrewChapter001DonDeal1997 https://archive.org/details/20200531_20200531_0142 https://archive.org/details/DJScrewChapter1803NDaMorningPtII1996 https://archive.org/details/20200531_20200531_0147 https://archive.org/details/DJScrewChapter100PlatinumShit1997 https://archive.org/details/DJScrewChapter127SouthsideHoldin1997 https://archive.org/details/DJScrewChapter265ShayScrew1998 https://archive.org/details/DJScrewChapter078NobodyDoesItBetter1999 https://archive.org/details/DJScrewChapter130BackToTheLab1996 https://archive.org/details/DJScrewChapter191SouthSiders1998 https://archive.org/details/DJScrewChapter014SippinCodeine1998 https://archive.org/details/DJScrewChapter064LockedNDaGame1996 https://archive.org/details/DJScrewChapter136DaFunkIsOnYourMind1994 https://archive.org/details/20200530_20200530_1617 https://archive.org/details/DJScrewChapter098FourCornersOfTheWorld1999 https://archive.org/details/DJScrewChapter163MashingNMilleniumMode1999 https://archive.org/details/DJScrewChapter250DaReturn1995 https://archive.org/details/DJScrewChapter341SmokeOn1994 https://archive.org/details/DJScrewChapter194ThangsDoneChanged1996 https://archive.org/details/DJScrewChapter262ClayScrew971997 https://archive.org/details/DJScrewChapter290Tolu1996 https://archive.org/details/20200531_1151 https://archive.org/details/DJScrewChapter132CantFadeIt2000 https://archive.org/details/DJScrewChapter164SouthsideConnection1997 https://archive.org/details/DJScrewChapter094StillHooping1996 https://archive.org/details/DJScrewChapter319FloydScrew1998 https://archive.org/details/DJScrewChapter151MoMoney1998 https://archive.org/details/DJScrewChapter030GLove1998 https://archive.org/details/DJScrewChapter161SameOlG1998 https://archive.org/details/DJScrewChapter293ScrewPiccolo1995 https://archive.org/details/DJScrewChapter097PlayersChoppinGame1999 https://archive.org/details/DJScrewChapter018Killuminati1997 https://archive.org/details/DJScrewChapter036WhoNextWithPlex1995 https://archive.org/details/DJScrewChapter027PlotsSchemes1997 https://archive.org/details/DJScrewChapter077OnlyTheReal1999 https://archive.org/details/DJScrewChapter328ScrewDub3281996 https://archive.org/details/DJScrewChapter329BigMello92BotanyBoys931993 https://archive.org/details/20200530_20200530_1630 https://archive.org/details/DJScrewChapter026BlowinBigBehindTint1996 https://archive.org/details/DJScrewChapter052OnlyRollinRed1997 https://archive.org/details/DJScrewChapter020Crumbs2Bricks1999 https://archive.org/details/DJScrewChapter004ChoppinGameWitToe1997 https://archive.org/details/DJScrewChapter153DrankinOnAGallon1996 https://archive.org/details/DJScrewChapter166TelephoneLove1998 https://archive.org/details/DJScrewChapter165StreetFame1998 https://archive.org/details/DJScrewChapter126IfThePriceIsRight1996 https://archive.org/details/DJScrewChapter049CodeineFiend1995 https://archive.org/details/20200531_20200531_0159 https://archive.org/details/DJScrewChapter092BackNYoEar1998 https://archive.org/details/DJScrewChapter115DownOut1998 https://archive.org/details/DJScrewChapter156100MinutesOfRealness1995 https://archive.org/details/DJScrewChapter271ScrewTerrance941994 https://archive.org/details/DJScrewChapter333LiveFromClubNouveau97Pt61997 https://archive.org/details/20200531_20200531_0135 https://archive.org/details/DJScrewChapter043IndependenceDay1997 https://archive.org/details/DJScrewChapter083Ball2UFall1998 https://archive.org/details/DJScrewChapter050MoneyOverBitches1996 https://archive.org/details/DJScrewChapter044EyesOnThePrize1999 https://archive.org/details/DJScrewChapter107ItsAllGood1998 https://archive.org/details/DJScrewChapter243CominUpQuick1995 https://archive.org/details/20200530_20200530_2210 https://archive.org/details/DJScrewChapter006DownSouthHustlers1997 https://archive.org/details/DJScrewChapter015TheNextEpisode1996 https://archive.org/details/DJScrewChapter140SymptomsOfAThug1998 https://archive.org/details/DJScrewChapter111ShitDontStop1997 https://archive.org/details/DJScrewChapter22497Live1997 https://archive.org/details/DJScrewChapter276Herschelwood941994 https://archive.org/details/DJScrewChapter038Headed2DaLeague1997 https://archive.org/details/DJScrewChapter084Str8PuttinItDown1998 https://archive.org/details/DJScrewChapter131SyrupSippers1996 https://archive.org/details/DJScrewChapter219LeaninNTheLeans1996 https://archive.org/details/DJScrewChapter263NardScrew1998 https://archive.org/details/DJScrewChapter330LiveFromClubNouveau97Pt31997 https://archive.org/details/20200531_20200531_0138 https://archive.org/details/DJScrewChapter072OffTheHead1997 https://archive.org/details/DJScrewChapter128ItsGonnaGetBetter2000 https://archive.org/details/DJScrewChapter137Blue221999 https://archive.org/details/DJScrewChapter295ScrewDub951995 https://archive.org/details/DJScrewChapter3404thWard1995 https://archive.org/details/DJScrewChapter096CantHoldYaHand1995 https://archive.org/details/DJScrewChapter119NoDrank1995 https://archive.org/details/20200531_20200531_0135 https://archive.org/details/DJScrewChapter043IndependenceDay1997 https://archive.org/details/DJScrewChapter083Ball2UFall1998 https://archive.org/details/DJScrewChapter050MoneyOverBitches1996 https://archive.org/details/DJScrewChapter044EyesOnThePrize1999 https://archive.org/details/DJScrewChapter107ItsAllGood1998 https://archive.org/details/DJScrewChapter243CominUpQuick1995 https://archive.org/details/20200531_20200531_0144 https://archive.org/details/DJScrewChapter080HoldYaHead1997 https://archive.org/details/DJScrewChapter135SteadyDippin1997 https://archive.org/details/DJScrewChapter227WeDontBarIt941994 https://archive.org/details/DJScrewChapter229ThugsNiteOut1996 https://archive.org/details/DJScrewChapter230PayinDues951995 https://archive.org/details/DJScrewChapter0249MonthsLater1996 https://archive.org/details/DJScrewChapter147NiggasFlys1998 https://archive.org/details/DJScrewChapter207GoinAllOut961996 https://archive.org/details/DJScrewChapter331LiveFromClubNouveau97Pt41997 https://archive.org/details/DJScrewChapter231Love4TheHood1995 https://archive.org/details/DJScrewChapter247SuddenDeath961996 https://archive.org/details/DJScrewChapter233FinallyMadeIt1996 https://archive.org/details/DJScrewChapter066LayedBackRollin1996 https://archive.org/details/DJScrewChapter054NoHatersAllowed1997 https://archive.org/details/DJScrewChapter104SittinSideways1995 https://archive.org/details/DJScrewChapter025Unpredictable1997 https://archive.org/details/DJScrewChapter076BlackHearted1998 https://archive.org/details/DJScrewChapter011HeadedToTheClassic1996 https://archive.org/details/DJScrewChapter12010Deep1994 https://archive.org/details/DJScrewChapter157GoinFed1995 https://archive.org/details/DJScrewChapter209DeepDownSouth1996 https://archive.org/details/DJScrewChapter242PuttinItDown1996 https://archive.org/details/DJScrewChapter317ScrewDub971997 https://archive.org/details/DJScrewChapter306HerschelwoodClick941994 https://archive.org/details/DJScrewChapter019N2Deep1999 https://archive.org/details/DJScrewChapter023DancingCandy1996 https://archive.org/details/DJScrewChapter182RidinDirty1996 https://archive.org/details/DJScrewChapter210BanginDownTheStrip951995 https://archive.org/details/DJScrewChapter269LilRobPersonal1994 https://archive.org/details/20200530_20200530_2212 https://archive.org/details/DJScrewChapter009MakinCashForever1996 https://archive.org/details/DJScrewChapter074MashForMyDream1997 https://archive.org/details/DJScrewChapter172StraightWreckin1995 https://archive.org/details/DJScrewChapter316LiveFromClubNouveau97Pt2OpenMic1997 https://archive.org/details/DJScrewChapter238OnTheReal951995 https://archive.org/details/DJScrewChapter035ChargeItToTheGame1997 https://archive.org/details/DJScrewChapter069SouthsideRiders1997 https://archive.org/details/DJScrewChapter152PullinOnYoCurvin1995 https://archive.org/details/DJScrewChapter158SquarinItOff1996 https://archive.org/details/DJScrewChapter184GoingHard1994 https://archive.org/details/DJScrewChapter260BarIt4What961996 https://archive.org/details/DJScrewChapter2212PintsDeep1994 https://archive.org/details/DJScrewChapter339GTownCSide1995 https://archive.org/details/DJScrewChapter327ESGLiveAtScrewHouse941994 https://archive.org/details/DJScrewChapter033GdUpShit1997 https://archive.org/details/DJScrewChapter093DaReunion1999 https://archive.org/details/DJScrewChapter091TakeItHowYouWanna1998 https://archive.org/details/DJScrewChapter144HeavyNThaGame1998 https://archive.org/details/DJScrewChapter189AnotherDayAnotherDub1996 https://archive.org/details/DJScrewChapter203AlmostOnDemStreets1995 https://archive.org/details/DJScrewChapter235Flippin2Classic95Pt21996 https://archive.org/details/DJScrewChapter218Way2Real1995 https://archive.org/details/DJScrewChapter324Dusk2Dawn1996 https://archive.org/details/DJScrewChapter286OutOnBond951995 https://archive.org/details/DJScrewChapter321StillThugginPt11996 https://archive.org/details/DJScrewChapter032GCode2000 https://archive.org/details/DJScrewChapter193Something4DatTrunk1995 https://archive.org/details/DJScrewChapter332LiveFromClubNouveau97Pt51997 https://archive.org/details/DJScrewChapter301SmokeOneSmokeTwo911991 https://archive.org/details/DJScrewChapter280500AM1995 https://archive.org/details/DJScrewChapter318Stick11993 https://archive.org/details/DJScrewChapter059SouthsideMostWanted1999 https://archive.org/details/DJScrewChapter055BackOnTheStreets1996 https://archive.org/details/DJScrewChapter123Snitches1998 https://archive.org/details/DJScrewChapter174DEABootcamp1995 https://archive.org/details/DJScrewChapter187DeadEndRepresentative1998 https://archive.org/details/DJScrewChapter211OffParole2000 https://archive.org/details/DJScrewChapter297Stick1Screw1995 https://archive.org/details/DJScrewChapter323MarchMadness1998 https://archive.org/details/DJScrewChapter288FuckYouHaters1994 https://archive.org/details/DJScrewChapter282SprinkleMe971997 https://archive.org/details/DJScrewChapter284SoManyWays1996 https://archive.org/details/DJScrewChapter257AllAboutPat971997 https://archive.org/details/DJScrewChapter068TreWorld1998 https://archive.org/details/DJScrewChapter169StillStanding1996 https://archive.org/details/DJScrewChapter268DaveScrew951995 https://archive.org/details/DJScrewChapter201PlayersNiteOut1996 https://archive.org/details/DJScrewChapter005StillAGAt271997 https://archive.org/details/DJScrewChapter103PoppedUpSittinLow1999 https://archive.org/details/DJScrewChapter101Graduation991999 https://archive.org/details/DJScrewChapter202StillInThaGame1996 https://archive.org/details/DJScrewChapter176RobinSt4Life1998 https://archive.org/details/DJScrewChapter29696Live1996 https://archive.org/details/DJScrewChapter310BigG1994 https://archive.org/details/DJScrewChapter0312000Tears2000 https://archive.org/details/DJScrewChapter148DoYouFeelMe1997 https://archive.org/details/DJScrewChapter205SlippinRed1995 https://archive.org/details/DJScrewChapter217SittinOnChrome1996 https://archive.org/details/DJScrewChapter146OnlyTimeWillTell1997 https://archive.org/details/DJScrewChapter185StayingDown1995 https://archive.org/details/DJScrewChapter162UnladyLike1997 https://archive.org/details/DJScrewChapter253StayinSuckaFree1995 https://archive.org/details/DJScrewChapter266TillDeathDoUsPart961996 https://archive.org/details/DJScrewChapter215SouthSidePlayers1995 https://archive.org/details/DJScrewChapter299ScrewDub943rdWardHerschelwood1994 https://archive.org/details/DJScrewChapter312PoppyScrew971997 https://archive.org/details/DJScrewChapter287FlossMode961996 https://archive.org/details/DJScrewChapter058YouDontWorkYouDontEat1997 https://archive.org/details/DJScrewChapter141AnotherPlatinumHit1999 https://archive.org/details/DJScrewChapter338ScrewDub941994 https://archive.org/details/DJScrewChapter326RedTurnsHeads1997 https://archive.org/details/DJScrewChapter062DeadEndHustlerForLife1999 https://archive.org/details/DJScrewChapter222MyBlock1995 https://archive.org/details/DJScrewChapter08298Live1998 https://archive.org/details/DJScrewChapter204TheMeadows941994 https://archive.org/details/DJScrewChapter199StreetDreams1996 https://archive.org/details/DJScrewChapter283ScrewDub981998 https://archive.org/details/DJScrewChapter3043rdWard94Freestyle4thWard95Freestyle1995 https://archive.org/details/DJScrewChapter274StillThugginPt21997 https://archive.org/details/DJScrewChapter298TogetherForever1995 https://archive.org/details/DJScrewChapter040YellowstonevsTheNation1997 https://archive.org/details/DJScrewChapter021ThaWorldIsMine1997 https://archive.org/details/DJScrewChapter065RoadToRiches1997 https://archive.org/details/DJScrewChapter053Y2Grey1999 https://archive.org/details/DJScrewChapter075RidinHigh1997 https://archive.org/details/DJScrewChapter0904thOfJuly1998 https://archive.org/details/DJScrewChapter1083NDaMorning1994 https://archive.org/details/DJScrewChapter17399Live1999 https://archive.org/details/DJScrewChapter291OneYearLater1996 https://archive.org/details/DJScrewChapter278LilChuckScrew1995 https://archive.org/details/20200531_20200531_0136 https://archive.org/details/20200531_20200531_1420 https://archive.org/details/DJScrewChapter063MournUTillIJoinYou1997 https://archive.org/details/DJScrewChapter196SugarHill1995 https://archive.org/details/DJScrewChapter181GreyInTheDeck1994 https://archive.org/details/DJScrewChapter216FlippinOnASunday1998 https://archive.org/details/DJScrewChapter259Somethin4UHaters1995 https://archive.org/details/DJScrewChapter2491216721996 https://archive.org/details/DJScrewChapter2393D1993 https://archive.org/details/DJScrewChapter245WaitinOnSlant1993 https://archive.org/details/DJScrewChapter232Tryin2Survive1995 https://archive.org/details/DJScrewChapter305DreScrew1995 https://archive.org/details/DJScrewChapter335LiveFromClubNouveau97Pt81997 https://archive.org/details/DJScrewChapter300HellRaiserScrewDub1996 https://archive.org/details/DJScrewChapter143MillionDollarBoys1997 https://archive.org/details/DJScrewChapter313ScrewDub941994 https://archive.org/details/DJScrewChapter273SoMuchPain1996 https://archive.org/details/DJScrewChapter039OneLifeToLive1997 https://archive.org/details/DJScrewChapter048Gallon11996 https://archive.org/details/DJScrewChapter208AustinToHoustonPt21995 https://archive.org/details/DJScrewChapter168NoTime4Bullshit1996 https://archive.org/details/DJScrewChapter200AintNoSleepin1995 https://archive.org/details/DJScrewChapter270DPacScrew1998 https://archive.org/details/DJScrewChapter241HurtinTheseBoys951995 https://archive.org/details/DJScrewChapter220PlayerMemories1996 https://archive.org/details/DJScrewChapter254FreshOutDaCounty1995 https://archive.org/details/DJScrewChapter303ESG941994 https://archive.org/details/DJScrewChapter149BeatinUpDaBlock1998 https://archive.org/details/DJScrewChapter256ScrewDoug981998 https://archive.org/details/DJScrewChapter198UnCutFunk1995 https://archive.org/details/DJScrewChapter177InGodWeTrust1998 https://archive.org/details/DJScrewChapter294BigJutScrew1994 https://archive.org/details/DJScrewChapter308MantnyScrew951995 https://archive.org/details/DJScrewChapter099ShotCalling1998 https://archive.org/details/DJScrewChapter073DontMakeDollarsDontMakeSense1995 https://archive.org/details/DJScrewChapter223TreyDay1994 https://archive.org/details/DJScrewChapter302ScrewLante941994 https://archive.org/details/DJScrewChapter002TalesFromTha41996 https://archive.org/details/DJScrewChapter0519FoShit1994 https://archive.org/details/DJScrewChapter252SeparatinDaRealFromDaFake002000 https://archive.org/details/DJScrewChapter281StackinPaper1994 https://archive.org/details/DJScrewChapter322Houston2AustinPt11995 https://archive.org/details/DJScrewChapter179MindOverMatter1997 https://archive.org/details/DJScrewChapter067BackInThaDeck1995 https://archive.org/details/DJScrewChapter138AreUStillDown1998 https://archive.org/details/DJScrewChapter188PayLikeUWay1997 https://archive.org/details/DJScrewChapter175PlayersBall1994 https://archive.org/details/DJScrewChapter251StressedOut1996 https://archive.org/details/DJScrewChapter19034Action1996 https://archive.org/details/DJScrewChapter183InTheDo1996 https://archive.org/details/DJScrewChapter289InYoEar1995 https://archive.org/details/DJScrewChapter234StillAGAt231995 https://archive.org/details/DJScrewChapter255Elimination941994 https://archive.org/details/DJScrewChapter061NiggasCantSeeMe1996 https://archive.org/details/DJScrewChapter206HatersStayAway1995 https://archive.org/details/DJScrewChapter213MadeNiggas1997 https://archive.org/details/DJScrewChapter279JustAnotherTightScrew951995 https://archive.org/details/DJScrewChapter314MannPhoo2000 https://archive.org/details/DJScrewChapter225BackUpInYou1994 https://archive.org/details/DJScrewChapter228BackOnTheGrind1995 https://archive.org/details/DJScrewChapter045100Business1997 https://archive.org/details/DJScrewChapter13922Liters1995 https://archive.org/details/DJScrewChapter150MindOnMyMoney1997 https://archive.org/details/DJScrewChapter307BCScrew971997 https://archive.org/details/20200531_20200531_0141 https://archive.org/details/DJScrewChapter008LetsCallUpOnDrank1997 https://archive.org/details/DJScrewChapter154PopTrunk1996 https://archive.org/details/DJScrewChapter186ThugLife1997 https://archive.org/details/DJScrewChapter237DopeDealinCapPeelin951995 https://archive.org/details/DJScrewChapter246WillowGlen951995 https://archive.org/details/DJScrewChapter264ScrewDub961996 https://archive.org/details/DJScrewChapter292Cloverland1995 https://archive.org/details/DJScrewChapter315LiveFromClubNouveau971997 https://archive.org/details/DJScrewChapter343WhatsReallyGoinOn1995 https://archive.org/details/DJScrewChapter060AllDayInTheTrey1999 https://archive.org/details/DJScrewChapter212StillHustlin1998 https://archive.org/details/DJScrewChapter258FuckTheWorld1995 https://archive.org/details/DJScrewChapter056BlueOvaGrey1998 https://archive.org/details/DJScrewChapter145SUCFoLife1997 https://archive.org/details/DJScrewChapter114BowDown1997 https://archive.org/details/DJScrewChapter105EverydayAllday1997 https://archive.org/details/DJScrewChapter320OnAMission1997 https://archive.org/details/DJScrewChapter285YellowstoneTexas951995 https://archive.org/details/DJScrewChapter244ItDontStop1995 https://archive.org/details/DJScrewChapter261RIPTeeLee1997 https://archive.org/details/DJScrewChapter2674YoungGees951995
I don't recall where I found these links. I probably saved them from some crusty old forum post. I can be highly resourceful when it comes to finding things on the internet. There's no telling for how long archive.org will generously host these files, so get them while you can.