在python bs4中修剪空白

2024-10-03 04:37:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试删除刮取的数据中的空白。我参考了所有可用的解决方案,但似乎没有任何效果。在

这是我的密码

    from bs4 import BeautifulSoup
import urllib2
url="http://www.sfap.org/klsfaprep_search?page=38&type=1&strname=&loc=&op=Lancer%20la%20recherche&form_build_id=form-72a297de309517ed5a2c28af7ed15208&form_id=klsfaprep_search_form"
page=urllib2.urlopen(url)
soup = BeautifulSoup(page.read())
universities=soup.findAll('div',{'class':'field-item odd'})
for eachuniversity in universities:
 #print eachuniversity['href']+","+eachuniversity.string.encode('utf-8').strip()
 print eachuniversity.string if eachuniversity  else ''

我得到的结果是

^{pr2}$

但我希望如此

EMSP,None,None, BP J5,98880,NOUMEA,Nouvelle-Calédonie,Intra établissement,Dr Chantal Barbe, c.barbe@cht.nc, 00 687 25 66 66 (standard), emasp@cht.nc, 1078 (poste Dr Barbe),  Accueil stagiaire, None, Régional,None

当我尝试其他SO答案时,我得到了Nonetype属性错误。在

更新 我改进了我的脚本如下

from bs4 import BeautifulSoup
import urllib2
url="http://www.sfap.org/klsfaprep_search?page=38&type=1&strname=&loc=&op=Lancer%20la%20recherche&form_build_id=form-72a297de309517ed5a2c28af7ed15208&form_id=klsfaprep_search_form"
page=urllib2.urlopen(url)
soup = BeautifulSoup(page.read())
for eachuniversity in soup.findAll('div',{'class':'field-item odd'}):
 print ''.join(eachuniversity.findAll(text=True)).encode('utf-8').strip()

这给出了以下输出

EMSP
Nom de la structure: 
                    EMASP
Hôpital Gaston Bourret
BP J5
98880
NOUMEA
Nouvelle-Calédonie
Intra établissement
Dr Chantal Barbe
c.barbe@cht.nc
00 687 25 66 66 (standard)
emasp@cht.nc
1078 (poste Dr Barbe)
Accueil stagiaire
7h30 17h
Régional
ouverture équipe mobile depuis le 1 aout 2011
Travail au quotidien avec le malade sur demande médecin référent
Activités de formation intra et extra hospitalières sur toute la Nouvelle Calédonie auprès de professionnels de la santé, des auxiliaires de vie, des bénévoles, des prêtres....
Information auprès du grand public
Travail de recherche : étude des problèmes ethniques; évaluation du ressenti des malades walisien et /ou kanak sur l' approche SP  et propositions

但我想把它放在一行,用逗号隔开。在


Tags: importformnoneidurlsearchpagede
1条回答
网友
1楼 · 发布于 2024-10-03 04:37:33

要在同一行打印,只需在print语句的末尾添加一个,

print ''.join(eachuniversity.findAll(text=True)).encode('utf-8').strip(),',',

您可能需要从文本中删除换行符。在

^{pr2}$

它将用一个空格替换所有连续的空格字符,包括换行符。在

相关问题 更多 >