現在、テーブルを配列に解析しようとすると、少し問題が発生します。
BS4で解析し、セルの内容を配列に入れる必要がある単純なテーブル(ここ)があります。ここで問題となるのは、セルにテキストが含まれておらず、「確認」または「サイト」というタイトルの画像が含まれていることです。これはユーザーの権利にすぎません。 [チェックボックスを含む行1をスキップしています。問題なく抽出できるチェックボックスです]
上記のフィドルを見ると、私がする必要があるのは、結果の配列が次のようになるように解析することだけです。
Array1[0] = User1,Confirm,Confirm,Site,Confirm
Array1[1] = User2,Confirm,Confirm,Confirm,Confirm
Array1[2] = User3,Confirm,Confirm,Confirm,Confirm
Array1[3] = User4,Confirm,Site,Site,Confirm
その後、私は好きなようにそれを行うことができます。もう1つの厄介な問題は、行数が異なる場合があるため、スクリプトがこれに適応し、テーブルから配列を再帰的に作成できるようにする必要があることです。
現時点では、StackOverflowが私の唯一の希望です。私は過去10時間、これを自分で行うことにほとんどまたはまったく成功せず、率直に言って希望を失いました。何かを取り出すのに最も近かったのは、囲まれたタグを抽出することでしたが、奇妙な理由でそれ以上解析できませんでした。おそらく、bs4のネストの制限ですか?誰か見てください、そして彼らがこれを行う方法を見つけることができるかどうか見てください?または、少なくともそこに到達する方法を説明しますか?
var description:rightml-テーブルのスープ。
allusers = []
rows = rightml.findAll('tr')
for tr in rows:
cols = tr.findAll('td')
for td in cols:
if (td.find(title="Group")) or (td.find(title="User")):
text = ''.join(td.text.strip())
allusers.append(text)
print allusers
gifrights = []
rows7 = rightml.findAll('td')
#print rows7
for tr7 in rows:
cols7 = tr7.findAll('img')
for td7 in cols7:
if (td7.find(title="Confirm")) or (td7.find(title="Site")):
text = ''.join(td7.text.strip())
text2 = text.split(' ')
print text2
gifrights.append(text2)
私はこのコードでかなり離れている可能性があります..しかし、私はそれに古い大学の試みを与えました。