Personally I gave up trying to learn other people's music a long time ago, not because I can't do it, but I found that I was spending more time trying to figure out songs from tabs that are half wrong anyway and I wasn't learning anything.
I changed focus from learning other people's crap to learning the music theory and then making up my own stuff. When you have that level of freedom you really learn a lot more.
For example learn to play the B minor scale and the associated chords, and experiment with playing it all over the guitar. Keep at it every day and just make stuff up; you'll be surprised what you'll learn by accident. "hey this kind of sounds like a song I know". Then go listen to that song and try to match it. It's a lot easier to learn other people's work when you've taken the time to get familiar with scales and chords in a more "formal" manner.
Whatever your method is - In the end It really comes down to practice, practice, practice. then practice some more. At least an hour every day. Try getting up early and practicing in the morning instead of at the end of the day, that alone made a huge difference for me.