Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:使用BeautifulSoup从HTML中提取分离文本_Python_Html - Fatal编程技术网

Python:使用BeautifulSoup从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

我在一个页面上重复了以下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="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}