我目前正在进入一个包含我想要的所有行的for循环:
page = urllib2.urlopen(pageurl)
soup = BeautifulSoup(page)
tables = soup.find("td", "bodyTd")
for row in tables.findAll('tr'):
此时,我有我的信息,但是
<br />
标签破坏了我的输出。
删除这些内容的最简洁方法是什么?
答案 0 :(得分:18)
如果您想将<br />
翻译成换行符,请执行以下操作:
def text_with_newlines(elem):
text = ''
for e in elem.recursiveChildGenerator():
if isinstance(e, basestring):
text += e.strip()
elif e.name == 'br':
text += '\n'
return text
答案 1 :(得分:15)
for e in soup.findAll('br'):
e.extract()
答案 2 :(得分:3)
在开头用空格替换标签 美丽的汤也接受urlopen对象上的.read(),所以这应该工作 - - -
page = urllib2.urlopen(pageurl)
page_text=page.read()
new_text=re.sub('</br>',' ',page_text)
soup = BeautifulSoup(new_text)
tables = soup.find("td", "bodyTd")
for row in tables.findAll('tr'):
.....
re.sub用空格替换br标签
答案 3 :(得分:1)