1
私はWikipediaページのセクション、サブセクション、サブサブセクションの階層構造を取得しようとしています。ページ名は「A」で、構造がPythonの文字列から階層構造を取得します
= b =
= c =
== d ==
== e ==
=== f ===
=== g ===
==== h ====
=== i ===
== j ==
== k ==
= l =
兆候がセクションまたはサブの指標である平等に従っている。この場合
mystr = 'a = b = = c = == d == == e == === f === === g === ==== h ==== === i === == j == == k == = l ='
:
私はこのような文字列を持っていますセクションなど。私はこれを行うことにより、その上のセクション、サブセクションを見つけることができたとしているこれまでのところ
mylist = ['a', 'a/b', 'a/c', 'a/c/d', 'a/c/e', 'a/c/e/f', 'a/c/e/g',
'a/c/e/g/h', 'a/c/e/i', 'a/c/j', 'a/c/k', 'a/l']
:
sections = re.findall(r' = (.*?)\ =', mystr)
subsections = re.findall(r' == (.*?)\ ==', mystr)
...
私はこのようなすべてのリレーショナル階層構造を含むPythonのリストを取得する必要があります
しかし、私はここからどのように進んで目的のmylistを得るのか分かりません。最初の関数は、あなたの文字列を解析し、(0、 'A')のようなトークン(レベル、名前)、(1、 'B')を得
- - 二
:
ようこそ。あなたの質問を改善するために、文字列(つまり等号の意味)とあなたが既に試みたことを示すポストコードから階層構造をどのように決定するべきかを記述してください。 –
基本的に私はウィキペディアからテキストを抽出しようとしています。この文字列には、特定のウィキペディアページ(セクション、サブセクション、サブサブセクションなど)のコンテンツ名が含まれます。私の例では、aはページ名です。 b、c、lはセクションです(したがって、それらの周りには等号が1つしかありません)。 d、e、jはcの下のサブセクションである(したがって、それらの周りに2つの等号がある)。 – user8101320