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