1

HTML ファイルがあり、td クラスの 1 つにテキスト/変数を挿入する必要があります。
「foo」と呼ばれる td クラスは、ID を取得することもあれば、単にクラスを取得することもありました。

<td align="left" class="foo" style="white-space:nowrap;">  </td>  

テキストは空のスペースに入ります。stripped_strings後で使用するので、空のスペースもそのままでかまいません。とにかく文字列/データのみを保持します。
(これは、一部のエンタープライズ ソフトウェアによって生成されたテーブルです。)

この SO Questionを見つけましたが、td クラスで動作させる方法についてはわかりませんでした。

4

2 に答える 2

3

スープの初期化:

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(s) #s is the html string you get

まず、必要なタグを見つける必要があります。

>>> td = soup.find('td', attrs={'class':'foo'})
>>> td
<td align="left" class="foo" style="white-space:nowrap;"> </td>

テキストを挿入します。

>>> td.string = 'hello'
>>> td
<td align="left" class="foo" style="white-space:nowrap;">hello</td>

プロパティを追加します。

>>> td['id'] = 'id1'
>>> td
<td align="left" class="foo" id="id1" style="white-space:nowrap;">hello</td>

クラスを追加します。

>>> td['class'].append('foo2')
>>> td
<td align="left" class="foo foo2" id="id1" style="white-space:nowrap;">hello</td>

詳細については、ドキュメントをお読みください。

于 2013-07-12T08:21:37.083 に答える
2

次のコードを試してください:

import bs4

soup = bs4.BeautifulSoup('<td align="left" class="foo" style="white-space:nowrap;">  </td>')
for td in soup.findAll('td', {'class': 'foo'}):
    td.attrs['title'] = 'spam'
    td.append('egg text')
print soup
于 2013-07-12T08:21:00.723 に答える