Revision 8095d0fe-9569-4f20-a9fc-bc6142a4c19e - Code Golf Stack Exchange
## Python 2/3, <s>220</s> 202 bytes
<!-- language-all: lang-python -->
g=lambda a,b:a and g(b%a,a)or b
def f(n,d):
m=[];c=[]
while n+d>2:
t=n*d;f=p=2
while t>p:
if t%p:p+=1;f*=p
else:t/=p
if n%p:c+=[p];n*=f
else:m+=[p];d*=f
t=g(n,d);n/=t;d/=t
return[m,c]
[Try it online!][TIO-j8h4jy7b] Edit: Saved 18 bytes thanks to @Mr.Xcoder.
[Python 2]: https://docs.python.org/2/
[TIO-j8h4jy7b]: https://tio.run/##LY7NCoMwEAbveYq9CP4ErN5qWF9EPESTqKBrSLeUPr2N2svAN7OH9V@ed6qPY8JVb4PRoOXQRJKBKR0SLXW2BxiEsQ5cStJkjYANu16NEQI@87JaoMK0dQzASLlRDj3Wcd2RW38mWBxw4htfYKVcjv50dn3ZhstrxE6xjwV2vleUoxP/g@1W5laM0/WIohJZmQgBwfI7ULfJsT98WIhTlz5l9ciy4wc "Python 2 – Try It Online"