For small scale work acetone can work, but it's so flammable that it's a very bad choice for anything larger. It's not very selective, like alcohols, it will extract most of the chlorophyll and sugars. Using petroleum ether/hexane in a continuous percolation apparatus
One can extract the cannaboids (90% with one half hour of shaking) in a reasonably short period of time, and then isomerize the other cannaboids to THC using para-toluenesulfonic acid in a one pot shot (attach a reflux condenser directly to the receiver flask). For best results, you want about 1 gram of CBD in 100 ml solvent that is about 0.05% acid (.0.005 molar). Another way to figure the parameters is to use 5 ml of oil per 100 ml of solvent. Refluxing for an hour will isomerize over 90% of the THC's to delta six
As far as preparation, SWIM who has made hash oil for over 30 years states that it's best to decarboxylate the cannabis using aluminum foil covered cookie sheets at 250 degrees Fahrenheit in an electric oven until for ten to fifteen minutes, use the foil to load a blender, and grind to a fine powder. Packing a percolator is an art, a small amount of cotton is inserted, then a thin layer of clean sand is then leveled off. Using a sawn off broomstick handle, the dampened cannabis is added in small portions at a time, each sucessive portion pressed down in the same manner, but more firmly than the preceding portion. If the percolator is badly packed the solvent will form channels through the cannabis, greatly reducing the efficiency of the process:
If one wishes, one can fractionally distill the oil in high vacuum to obtain 90% THC oil, or one can decolorize using Norit, a thin layer of the extracted cannabis in the percolator can be used as a filter medium