私は現時点で時刻表Webページを解析しようとしています。私がプリントアウトしている問題は、デッドスペースの精神があるということです。これは、多くのケースで見ているタグのために、テキスト入力として '& nbsp'があるためです。そのスペースは、私たちがクラスを持たない時のためにあります。私がこれまで持っていたコードであると私はif td.text is ' ': continue
とif td.text == ' ': continue
とif td.text == u'\xa0': continue
を試してみましたが、これらのオプションのどれも私のために働くん&nbsp BeautifulSoupを削除する
from bs4 import BeautifulSoup
import urllib2
url="http://timetable.ait.ie/reporting/individual;student+set;id;AL%5FKNTWM%5F7%5F3%0D%0A?t=student+set+individual&days=1-5&weeks=&periods=3-20&template=student+set+individual"
page=urllib2.urlopen(url)
soup = BeautifulSoup(page.read(), 'lxml')
sources = soup.findAll('table')
for source in sources:
for tr in source.findAll('tr'):
for td in tr.findAll('td',{"rowspan":True}):
if td.text is u'\xa0': continue
else:
print td.text
。これは、私が解析しようとしているHTMLコードの一部です。
<!-- START ROW OUTPUT -->
<tr >
<td style="border-bottom:3px solid #000000;" rowspan='1' >Mon</td>
<td style="border-bottom:3px solid #000000;" > </td>
<td style="border-bottom:3px solid #000000;" > </td>
<td style="border-bottom:3px solid #000000;" > </td>
<td style="border-bottom:3px solid #000000;" > </td>
<td style="border-bottom:3px solid #000000;" colspan='2' rowspan='1' >
<!-- START OBJECT-CELL -->
<table cellspacing='0' border='0' width='100%'>
<col align='left' />
<tr>
<td align='left'><font color='#000000'>Networks Security 3</font></td>
</tr>
</table>
<table cellspacing='0' border='0' width='100%'>
<col align='left' />
<col align='right' />
<tr>
<td align='left'><font color='#000000'>W206</font></td>
<td align='right'><font color='#000080'>Bennett, Tom</font></td>
</tr>
</table>
<table cellspacing='0' border='0' width='100%'>
<col align='left' />
<tr>
<td align='left'><font color='#000080'>3-9, 11-14</font></td>
</tr>
</table>
<!-- END OBJECT-CELL -->
あなたはオプションとして& NBSPを持っていますが、後に、私はクラスのための時間を把握するために、これらの非破壊スペースをカウントする必要があります複数の「TD」のタグがある見ることができるように。どんな助けでも大歓迎です。
編集:forループの行間を無視してください。コードをコピーしてそこに残しておきます。
感謝。 –