我正在尝试删除已删除数据中的空格。我提到了所有可用的解决方案,但似乎没有任何效果。
这是我的代码
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 ''
我得到的输出是
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
但我希望它是
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
但我希望这一行以逗号分隔。
答案 0 :(得分:1)
要在同一行打印,只需在,
声明的末尾添加print
:
print ''.join(eachuniversity.findAll(text=True)).encode('utf-8').strip(),',',
您可能希望从文本中删除换行符。
print re.sub(r'\s+',' ',''.join(eachuniversity.findAll(text=True)).encode('utf-8')),',',
它将替换所有连续的空格字符,包括具有单个空格的换行符。