2017-10-28 7 views
0

イムしようとした印刷のhtml:pythonを使って休憩なしにhtmlを印刷するには、beautifulsoup?このようbeautifulsoup使用

load = urllib2.urlopen(url) 
soup = BeautifulSoup(load, 'lxml') 
characteristics = soup.find('table', { 'class' : 'characteristics-table'}) 
print characteristics 

はこの取得:

<table class="characteristics-table"> 
<tr class="characteristics alt"> 
<td class="name"> 
Zīmols 
</td> 
<td> 
Emporio Armani</td> 
</tr> 
<tr class="characteristics"> 
<td class="name"> 
<b>Mehānisma tips</b> 
</td> 
<td> 
<b>Mehāniskie automātiskie</b></td> 
</tr>... 

をしかし、このような何かが必要です。

<table class="characteristics-table"><tr class="characteristics alt"><td class="name">Zīmols</td><td>... 

はどのようにそれを行うには?

答えて

1
''.join(characteristics.split('\n')) #or \r\n on Windows 
+0

戻るない: '' .join (characteristics.split( '\ n')) TypeError: 'NoneType'オブジェクトは呼び出し可能ではありません –

+0

コードでは、変数特性のタイプは 'bs4.element.Tag'です。上記のaneroidの答えと同じように、最初に文字列に変換する必要があります。そうする: '' .join(str(特性).split( '\ n')) – jdoer1997

2

あなただけの空の文字列''で改行を置き換えることで、それらを削除するにはstr.replaceを使用し、その後、characteristicsに改行を削除する場合:

print str(characteristics).replace('\n', '').replace('\r\n', '') 

最初のものは、UNIXスタイルの改行2つ目を置き換えます最初の結果に適用され、Windowsスタイルの改行を置き換えます。

編集:.replaceは、beautifulsoupのfindから返されたobjのstr()に適用する必要があります。

+0

戻り値:characteristics.replace( 'の\ n'、 '').replace( '\ R \ n' は、 '') はTypeError: 'NoneType' オブジェクトが呼び出し可能 –

関連する問題