我正在尝试使用 python 和 beautiuflsoup 进行屏幕抓取。我遇到一个问题是我之前不知道如何获取文本值<br/>
这是一个例子:
<h3>
Francois Abboud
</h3>
Professor,
Internal Medicine
<br />
<br />
我正在尝试使用 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
我尝试了它们直到一个工作。
tsup,如果您将该 html 分配给一个字符串值,如下所示:
html = 'your html here'
然后你可以对其进行拆分,字符串将被拆分为一个字符串值数组,其中包含您指定的分隔符两侧的字符串:
def extractmyCrap(html):
h3splitStrings = html.split('</h3>')
h3splitStrings = h3splitStrings[1]
extractedText = h3splitStrings.split('<br/>')
return extractedText[0]
如果您需要任何进一步的帮助,或者我对您的问题的理解不正确,请发表评论