I've been learning about web scraping using BeautifulSoup in Python recently, but earlier today I was advised to consider using XPath expressions instead.
How does the way XPath and BeautifulSoup both work differ from each other?
I would suggest bs4, its usage and docs were more friendly, will save your time and increase confidence which is very important when you are self learning string manipulation.
However in practice, it will require a strong CPU. I once scrape with not more than 30 connections on my 1core VPS, and CPU usage of python process keeps at 100%. It could be result of bad implementation, but later I chaned all to re.compile and performance issue was gone.
As for performance, regex > lxml >> bs4. As for get things done, no difference.
Pros and Cons of Python Web Scraping using BeautifulSoup vs XPath