Python:使用BeautifulSoup从HTML中提取分离文本
我在一个页面上重复了以下HTML多次(请不要判断): 打印出来时,它打印一行连接所有值,例如Python:使用BeautifulSoup从HTML中提取分离文本,python,html,Python,Html,我在一个页面上重复了以下HTML多次(请不要判断): 打印出来时,它打印一行连接所有值,例如 {TITLE}{SOME TEXT 1}{SOME TEXT 2}{SOME TEXT 3} 这有什么关系吗?我遗漏了什么?您可以先美化div内容,然后根据需要处理每一行。如果类名为text的div具有相同的结构,这将起作用 代码(Python 2): from BeautifulSoup import BeautifulSoup as bs html = ''' <div class="con
{TITLE}{SOME TEXT 1}{SOME TEXT 2}{SOME TEXT 3}
这有什么关系吗?我遗漏了什么?您可以先美化div内容,然后根据需要处理每一行。如果类名为
text
的div具有相同的结构,这将起作用
代码(Python 2):
from BeautifulSoup import BeautifulSoup as bs
html = '''
<div class="container">
<div class="image">
<a href="#" title="#" class="#">
<img src="img.jpg" alt="#" class="#">
</a>
</div>
<div class="text">
<a href="#">
<h4 class="h4-class">{TITLE}</h4>
{SOME TEXT 1}<br />
<h5><img src="img.jpg" alt="#" /> {SOME TEXT 2}</h5>
{SOME TEXT 3} </a>
</div>
</div>
'''
soup = bs(html)
divs = soup.findAll("div",{"class":"text"})
for div in divs:
pretty_div = div.prettify()
content_list = pretty_div.split("\n")
content_list = [s.strip() for s in content_list]
print content_list[3]
print content_list[5]
print content_list[9]
print content_list[11]
{TITLE}
{SOME TEXT 1}
{SOME TEXT 2}
{SOME TEXT 3}
我没有在给定的HTML代码中看到任何
list\u txt
。在此处添加时输入错误。问题仍然存在。假设我想提取HREF,在这种情况下我将如何处理?是否只提取text
类的div内链接的HREF
属性值?
from BeautifulSoup import BeautifulSoup as bs
html = '''
<div class="container">
<div class="image">
<a href="#" title="#" class="#">
<img src="img.jpg" alt="#" class="#">
</a>
</div>
<div class="text">
<a href="#">
<h4 class="h4-class">{TITLE}</h4>
{SOME TEXT 1}<br />
<h5><img src="img.jpg" alt="#" /> {SOME TEXT 2}</h5>
{SOME TEXT 3} </a>
</div>
</div>
'''
soup = bs(html)
divs = soup.findAll("div",{"class":"text"})
for div in divs:
pretty_div = div.prettify()
content_list = pretty_div.split("\n")
content_list = [s.strip() for s in content_list]
print content_list[3]
print content_list[5]
print content_list[9]
print content_list[11]
{TITLE}
{SOME TEXT 1}
{SOME TEXT 2}
{SOME TEXT 3}