I am learning to make spiders and crawlers. This spidering is my passion and I am going to do that for a long time. For parsing I am thinking of using BeautifulSoup. But some people say that if I use lxml, I will have more control.
Now I don't know much. But I am ready to work hard even if using lxml is harder. But if that gives me full control then I am ready for it.
So what is your opinion?
I don't really think this question makes a whole lot of sense.  You need to give more explanation of what exactly your goals are.  BeautifulSoup and lxml are two tools that in large part do the same things, but have different features and API philosophies and structure.
It's not a matter of "which gives you more control," but rather "which is the right tool for the job?"  I use both.  I prefer the BeautifulSoup syntax, as I find it more natural, but I find that lxml is better when I'm trying to parse unknown quantities on the fly based on variables--e.g., generating XPath strings that include variable values, which I will then use to extract specific elements from varying pages.
So really, it depends on what you're trying to do.
TL;DR
I find BeautifulSoup easier and more natural to use but lxml ultimately to be more powerful and versatile.  Also, lxml wins the speed contest, no question.
Will I have more control over my spider if I use lxml over BeautifulSoup?