Are spaces around CSS combinators are really optional
问题 I'm a bit confused by using CSS selectors with axis combinators in BeautifulSoup. Below is the simple code to illustrate what I mean: from bs4 import BeautifulSoup as bs import requests response = requests.get('https://stackoverflow.com/questions/tagged/python') soup = bs(response.text) print(len(soup.select('#mainbar > div'))) returns 6 children... but print(len(soup.select('#mainbar>div'))) returns 0 children... The same with '#mainbar ~ div' (found 1 sibling) and #mainbar~div' (found