2017-05-06 75 views
0

新線的時候我跑的命令:閱讀文本從BeautilfulSoup在Python

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你,如果你要按時完成工作,晚歸的大部分時間....
沒有growthMostly驗證workNot這麼好的高層管理

我希望它像這樣的:

在海得拉巴,IDC你必須留後期的大部分時間,如果你必須按時完成工作....

沒有增長

晴覈查工作

不太好高層管理

請幫我得到我想要使用BeautifulSoup輸出。

+0

請以文字,編號提供輸出t作爲屏幕截圖。 –

回答

0

你可以試試這個:

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 

輸出:

在海得拉巴,IDC你必須留後期大部分的時間,如果你必須讓工作按時完成

沒有增長

大部分驗證工作

不太好高層管理

詳情:

row1[1].contents會給你:

[u'No growth', 
<br/>, 
u'Mostly Verification work', 
<br/>, 
u'Not so good top management'] 

然後你就可以過濾掉條件getattr(x, 'name', None) != 'br'文字:

[u'No growth', u'Mostly Verification work', u'Not so good top management'] 
+0

非常感謝我現在能夠完成我的任務。 –

+0

@PrashantPathak酷,請標記爲正確的答案,如果這是您的解決方案。謝謝。 –