从Python中的BeautilfulSoup读取新行中的文本

时间:2017-05-06 23:50:55

标签: python beautifulsoup

当我运行命令时:

for row1 in soup.find_all('p',class_ = " cons mainText truncateThis wrapToggleStr"):
      print row1

输出:

enter image description here

当我运行命令时:

for row1 in soup.find_all('p',class_ = " cons mainText truncateThis wrapToggleStr"):
      print row1.text

输出:

  

在海德拉巴,IDC,如果你必须准时完成工作,你大部分时间都要迟到....   没有增长大多数验证工作没有那么好的高层管理人员

我想这样:

  

在海德拉巴,IDC你大部分时间都要迟到,如果你必须准时完成工作......

     

没有增长

     

主要是验证工作

     

不太好的高层管理人员

请帮我用BeautifulSoup获取我想要的输出。

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

optin

输出:

  

在海德拉巴,IDC,如果你必须按时完成工作,你大部分时间都要迟到

     

没有增长

     

主要是验证工作

     

不太好的高层管理人员

<强>详细信息:

row1 = soup.find_all(attrs={"class_" : " cons mainText truncateThis wrapToggleStr"}) print row1[0].text #print the first p text for text in [ x for x in row1[1].contents if getattr(x, 'name', None) != 'br']: print text #print the second p text 会给你:

row1[1].contents

然后您可以使用条件[u'No growth', <br/>, u'Mostly Verification work', <br/>, u'Not so good top management']

过滤掉文本
getattr(x, 'name', None) != 'br'