Could anyone tell me the difference between "have wanted to do" and "have been wanting to do"? I often say "I've been wanting to go there!" when someone invite me to the restaurant that I got to know before and has been thinking I want to go since then. But one of my friends said "I've wanted to go there." in the same situation today. Which is correct/common usage?
It is not about what is common per se but what is correct.
The difference between I have been wanting to go there and I have wanted to go there is that the continuous form of the present perfect focuses on a process, something that has been happening over a recent period of time, while the simple form focuses on the end result of something that happened.
This is better understood with an example.
I have been wanting/taking too much alcohol lately. This means that in recent times and still now I drink or want too much alcohol everytime I get an opportunity.
I have taken too much alcohol. Here, the action is finished.
Present tense in the continuous form, focuses our attention on a series of events that began in the past, continues into the present, and may extend into the future. It is this continuing series of events which is important. Present tense in the simple form, focuses our attention on the current situation or result: that the drinking and alcohol are both finished.
Read this to understand better the usage of present perfect simple and present perfect continuous.
In standard English, the word, "want" is a stative verb, according to the book, ABC of Common Grammatical Errors written by Nigel Turton. And in the Perfect English Grammar website at https://www.perfect-english-grammar.com/stative-verbs.html, it states, "Some English verbs, which we call state, non-continuous or stative verbs, aren't used in continuous tenses (like the present continuous, or the future continuous). These verbs often describe states that last for some time." Thus, "I have wanted" is the correct form, and "I have been wanting" sounds ungrammatical. Also, we don't say, "I have been knowing you for a long time", but we say, " I have known you for a long time."