我正在尝试使用 python 和 beautiuflsoup 进行屏幕抓取。我遇到一个问题是我不知道如何获取 <br/> 之前的文本值
举个例子:
<h3>
Francois Abboud
</h3>
Professor,
Internal Medicine
<br />
<br />
请您参考如下方法:
我认为你可以使用.next_sibling:
>>> from bs4 import BeautifulSoup
>>>
>>> html = """
... <h3>
... Francois Abboud
... </h3>
... Professor,
... Internal Medicine
... <br />
... <br />
... """
>>>
>>> soup = BeautifulSoup(html)
>>>
>>> for h3 in soup.findAll("h3"):
... print 'h3:'
... print repr(h3)
... print 'next sibling:'
... print repr(h3.next_sibling)
...
h3:
<h3>
Francois Abboud
</h3>
next sibling:
u'\nProfessor,\xa0\nInternal Medicine\n'
我应该说两分钟前我还不知道该怎么做,但我知道findAll。所以我得到了一个 h3 对象,我使用 IPython 的制表符完成来查看它里面有什么,它有像 h3.next_element 和 h3.next_sibling 这样的东西 我尝试了它们,直到其中一个起作用。
