I have some HTML that looks like this:
Title
//a random amount of p/uls or tagless text
Next Title
I have the same problem. Not sure if there is a better solution, but what I've done is use regular expressions to get the indices of the two nodes that I'm looking for. Once I have that, I extract the HTML between the two indexes and create a new BeautifulSoup object.
Example:
m = re.search(r'Title
.*?', html, re.DOTALL)
s = m.start()
e = m.end() - len('')
target_html = html[s:e]
new_bs = BeautifulSoup(target_html)